{"_id":"nodepub","_rev":"49-e388adf87441a25c8557f7f0b8c94df9","name":"nodepub","dist-tags":{"latest":"5.1.1"},"versions":{"1.0.7":{"name":"nodepub","version":"1.0.7","keywords":["epub","ebook"],"author":{"url":"http://www.kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@1.0.7","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"9855b640d5efdb945bea994b4c51fc1a8a5bc2cd","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-1.0.7.tgz","integrity":"sha512-PYf+GGOsoOGfL8zMdhfk4wmFHn7dz4F3w7yrtplAx/vSgQA0iKc7P8nFqp/WlacupFmmi4KxsatLqNu+238eAQ==","signatures":[{"sig":"MEQCIGMujpgikBRPoeCFW0+7FHmTYF1rI4sCVHE3APkxZNzaAiBRPpgmNvVzVgBWQoj3l2GK91+2+/5rRe8SBYs78bVxAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"9855b640d5efdb945bea994b4c51fc1a8a5bc2cd","gitHead":"e3d7a38170fbbe1a0e47f66fbd0c8bfcba745b14","scripts":{"test":"jasmine-node test --verbose"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"2.15.1","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"4.4.3","dependencies":{"moment":"^2.10.6","archiver":"^0.14.2","underscore":"1.8.x"},"devDependencies":{"chai":"3.2.x","sinon":"1.16.x","jasmine":"^2.4.1","jasmine-node":"^1.14.5"},"_npmOperationalInternal":{"tmp":"tmp/nodepub-1.0.7.tgz_1462911741433_0.8975882488302886","host":"packages-16-east.internal.npmjs.com"}},"2.0.7":{"name":"nodepub","version":"2.0.7","keywords":["epub","ebook"],"author":{"url":"http://www.kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@2.0.7","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"7f32eed376260aa4425b30240d3a2fed5b03984f","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-2.0.7.tgz","integrity":"sha512-xPacEGzwq5BYq3gKfRhNQNwLTcsQCjzr7bQU/hsm5dLTrNfzGRo9LoyBTjepmtmuMU937mKDSo6fez6QtD2HJA==","signatures":[{"sig":"MEYCIQCn15QfbmsdV4cIgWrv0DfUGXhNWKGhl7KGI1771reW5QIhAOBXwG4TJa68VIbUr445pw2S7OQtvXihKx/whDRkLhyo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"7f32eed376260aa4425b30240d3a2fed5b03984f","gitHead":"356b725c83cafe851550f5e300553f07b6b70124","scripts":{"test":"jasmine-node test --verbose --captureExceptions"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"2.15.9","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"4.5.0","dependencies":{"async":"^2.1.2","moment":"^2.10.6","archiver":"^0.14.2","underscore":"1.8.x"},"devDependencies":{"chai":"3.2.x","sinon":"1.16.x","eslint":"^3.8.1","jasmine":"^2.4.1","jasmine-node":"^1.14.5"},"_npmOperationalInternal":{"tmp":"tmp/nodepub-2.0.7.tgz_1477568455340_0.42684919596649706","host":"packages-18-east.internal.npmjs.com"}},"2.1.0":{"name":"nodepub","version":"2.1.0","keywords":["epub","ebook"],"author":{"url":"http://www.kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@2.1.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"91a5dfcec2f3a7fce0770a2c8da8fcbc3808bbd8","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-2.1.0.tgz","fileCount":32,"integrity":"sha512-scYT1jdc8peG/IfCo+6rKuZlTHaKKAxaUcuqstDMbF2fmRfdwxtAiXJPEWed+fFi8TZNWSsjRcoqdOX3uHPf9g==","signatures":[{"sig":"MEUCIQCdjl44UlJ0haqzplBjx5iVYKnFlqJZrjdpGIYbp1gfNAIgZbwcYgGG/L+o20KxkoLcUSb2xcdAFr/AzS1v60C7BMk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":372600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcki02CRA9TVsSAnZWagAANgAP/ihS/L2ww7y0no6mFyVR\nvFj+6c2TQhb4Gdbr9CZHv03UIKLg80Y4rurWcidIh1uRb+2Q9VdGpuVextqY\nieg4x3hnpcxDjnMoQOcCTI6g5XaNQHUgxWjeCFIav9UlDzXbhs+psZg10R1J\nqsBqgXQF+dgbGzyJi3PbbsZO6b8Jk5EYE1SUOn6dDy6PqyLLHiJnl+8k0jJM\nKihh7RVqFNWXBI18lo5LKilq2kSbg4FaeI3SSYu5wPBPCLowwhXqXLlv0oxw\nc3wglbJykFoQ0s/BjCrKlE09nwZiZv1zUm2iMwxJblWzEOnXHtcAJBsPVc0X\nftswrX3FJCavo1NZh0Rr3uDd6qf5MeqyvkfOqLaM/I1cbtzFJBn2H00/trjQ\nd/z1mmatxvDdaLR+RAUfSD8E5zepU9TMYADTdruBZQCEIfAL5od/7+b09Wrt\nVaFGIbFcKHHvXjFw0HN1tG/RWCFqYB/ECFIYiQfKVUcCfFHl5d0meOAYB6YG\n3EeBe/m2s3bXzLcFEarDMqjA2LEdLEjsGtRomwfzoD2bCBbMyax7vYmwU6KI\nmI/4+FSQJt1zMmEglsl+h6iQLHksHS5GkEbLHNt9325lm/1A1t050ZsYmtJU\nNXtvWt8620mpxB5diFl2c4js7MDSgoytGKiyVygyzRb1jZJAzDUoL9QDUgYS\nDPh8\r\n=d0nx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"0d78ac6a3b3bd4510b699286a0439624abf52319","scripts":{"lint":"eslint --fix src","test":"mocha","example":"node example/example.js"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"6.4.1","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"10.15.1","dependencies":{"async":"^2.6.2","lodash":"^4.17.11","moment":"^2.24.0","archiver":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.2.x","mocha":"^6.0.2","sinon":"1.16.x","eslint":"^5.15.3"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_2.1.0_1553083702030_0.8190097939963024","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"nodepub","version":"2.1.1","keywords":["epub","ebook"],"author":{"url":"http://www.kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@2.1.1","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"5c69504b69b1ce012cdcd6cee59a2a3095c676ea","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-2.1.1.tgz","fileCount":32,"integrity":"sha512-N/e2lgeyxgAWvpGbBkTZHTuy5+kezMllxzJe371j4WrjTiQMxl4lE43TtY9kichiXFIxaHfJ0hHjRvYrzbLrog==","signatures":[{"sig":"MEYCIQCxpjjO3+Cj8p76sBHN3hvhpfqlSPHNsvhGMjAxAB7KawIhAJn1B3BLAa+iCy9iGorwYUjsSDzQVhFhKY+5aXeieD2k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":372691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckjF2CRA9TVsSAnZWagAA1SEP/3NxWQs1Jpg2Y0MLqUlN\nhOYdjtHGYFagx6WjqUbN88M6COUkRkLUCZ/BBbTh2oiDE6aciELYLUwO3B6w\nOWQ0AEu5n6iCMB5uzrw9TqWC4aehx9nySIOHca1w9ectd3PG2+VIN0Y5GYdi\nfu8Ro/ysnO9qRMLWcGo1iHA0iLIcMbVX21HCuWp3ZkT/dv+oZyRgIwaEFpKl\nK2m/MMMy0ytGyde4lcnDfWkKWIHXb9Trwo6M4sAYuiJs6pDs3asnYMUwVJs+\nobtBk9ZXWU3aYSnoG9zhqArsdcgUNUE9bBk4A8jVOkWamTPJinX1GJBLrIO9\nVjFqyYfDu8ZJcwUL35ajadKkEsKbYfmqCsPRoOHBr5QVjil0vK7UuPHWkhnZ\nlYMzCRQ1tp+SXL7xkIUeVx0l/kYEi6B3AxSaoi3O7LwPQNUuwdUW3lixtPNR\nA9Pf0tdpA/U3whFKg7z1ZEX5U838iqiCD3frtue5ssfBXVwT5Vg0DOSvRS65\nzxKSirr5P+netdjzfreHIZELCAX+QapUC3/v08i71N8u/pHbvQt1Uu8nIyf0\nLWd6+eJ1sHsicNj+SUmbPwAw6fI3lJwPSsGqus1Rz1gqMe4igdXj6rjQQ4aN\n4yz8SbQZ+XvquhpcwAVBOSV0VDhL4laqxsNRKbqoRbcGZC3negWc4Gqtczvu\n+Ldt\r\n=xo0W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"4c4b53a3c559f6a0e32f70d63c2b750b2eaa1258","scripts":{"lint":"eslint --fix src","test":"mocha","example":"node example/example.js"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"6.4.1","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"10.15.1","dependencies":{"async":"^2.6.2","lodash":"^4.17.11","moment":"^2.24.0","archiver":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.2.x","mocha":"^6.0.2","sinon":"1.16.x","eslint":"^5.15.3"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_2.1.1_1553084789914_0.9262926453007891","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"nodepub","version":"2.2.0","keywords":["epub","ebook"],"author":{"url":"http://www.kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@2.2.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"ad4afc0caa00193fef99926114dae066bcaed7e3","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-2.2.0.tgz","fileCount":16,"integrity":"sha512-A+oJUecjsqkM6XvXCtxGqXrlEPq2FIcIAmzXvk6+vzUvWB96+XQFeGxvizTMatLRxWLZEEfhtyFcRu3rPE/WpQ==","signatures":[{"sig":"MEYCIQDs9H4Hi1pQIbUhMTJNWtpZDb1Ylv/Tbb85GLiDiJI/AQIhAMnFE3m9LO2N2IVYtnfV39xji99EUhesMx88bfC0UP+w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":268342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelHEzCRA9TVsSAnZWagAASTAP/0Sg1xmp3MUePESny1Ab\nOzF+Q70iefvMCMUzotK5Ij/LMMJvoxTdtfdRyRNEacsGPLlL0lSNTpEWK66O\nAoLwd6qR/d9kwTPgCp55/QkiIEycJWdrkEJL6ObLlKctQsktz9U0HkyUl15U\nYN+tZ6+CFeqGTu5hJ0t3ES62dB4BdyJkJ5XluyHjWKUwpy2fQ/puzqybdgAN\nf0sbsRoCsxX0a05rb0TJ0HCOqzIeqhPwpc5G6FBuO7BfXe24zsCqUSA/c9ry\nWOSnxS1/YYjpwCjlQuwWqENwzlvwtUDfjvMcmsvnMoeyI4KiPXLbXJaoNAO6\n1VqNLQpyvKMfXw2MBTqQyWmHFma8ryk4pgvlUubxfTZo34lDIXj/BadGEe6w\nW+EfuXMDHrp1xV90UaEo4PvJnNw0L+EtRAB7rwX2W2/2PnDqhOEK6wXV2YVl\n2IiI0PQPE5uU16K8JCwPtoA92GMTcPHYO/dNMkpbMWTL8B9M2G7cJ8R53MqL\nMAeyy04R1R1D6jMooFhbTcP2IvdUxD8BNrLuFxM01pBo4G337hTfeQ7Xwtpd\n/chY1kbyAV8hkBoqqaRHugwG6bO3A6wdPB2iCQ6cn5vOh5IrFEFZOZTJ5aAI\n91Z4/ugTYeV9+15MbjNrqSOxxLdrYd6g18PWTlYXnHrwjd+EwffzhYnARxM1\ngHEu\r\n=mO3E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"29d32261206944fb0dbd495dc68047e68613039e","scripts":{"lint":"eslint --fix src","test":"mocha","example":"node example/example.js"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"6.14.4","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"async":"^3.2.0","lodash":"^4.17.15","moment":"^2.24.0","archiver":"^3.1.1"},"_hasShrinkwrap":false,"devDependencies":{"chai":"3.2.x","mocha":"^7.1.1","sinon":"1.16.x","eslint":"^6.8.0"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_2.2.0_1586786610997_0.7502999488556554","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"nodepub","version":"3.0.0","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.0.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"ee624429d250bc69b6a93c4cae4f375b42f485f7","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.0.0.tgz","fileCount":35,"integrity":"sha512-4xCIVjAkF2r07OAjydHQvhQwqHo1pzYdD/tG+CfjKOojDKMTXe2G3oKsC2psLXMDIlJkidzL4pZI/JLgiYgsLg==","signatures":[{"sig":"MEYCIQCYewNmPivnxTReT91eg9ThldruxsS6YC28U9Y7/RLtTwIhAI9O5ZYrDrcrbYYu7SW61XaLPDxAyj1JAO9TyvJs6HOO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352554,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNAuzCRA9TVsSAnZWagAAHdIP/2GZ1eI5cFI+F3BN6EJ3\nMLyvv2fD4vodouWckY52yiix/Mr5nLQL1smrTpyyj9zgCXwKfIP/df/vWlwT\n4lEaCKrlUoyFYpkAAG7F0R5JA3VpS62qT5Vx4BHqwgxocM+lylaytuYvn5j7\nECb9X2pW1K4kmICwve1v1J++OWFqhmp+UnKjodEsM5NnnDiaz70DJgcnGDQv\nwER4UjXHzWp1jZaVuzLoPIT0IdQdt3RCe+b9pxWroDQBG6RjFK2fBxzuGoYX\njjjZ5vdU3ZFzKo4CP295KgV18f/1qQWAOkzE5RWDs2LqG6RFMi5IB1jvY/p2\nR2S4tFex9zdg9aPZU7Lx+tj4ZpX2ZgGZ1ePloEWqcccNDSiJ0minqCIXOpg4\noOPY6/iW1lIbk6XBLK1ys1G3oV1nrGYyebpI+JaTf9/6dKSAfzLt6Z4wrFU1\nxypOkRw6DFHe8MDZq+b2nZN6AbagcyV8e8oCBtxVv5h8kMiZdZ+QiE2T9WfI\nqo4yjTDfVbyQwgfJORmK42oN4fWcK2fjn5aJJwM7qEBQs+5pgcokrvO4QDmj\nAOBnL7epgDcdBTgormDWkt9zdG3GXheAg6tc7kQR70v3PsZ1mnfRCziBLKeL\nQMFb+DP+yaqTUTnHO7B89vpvZuisWmktvqsczZT1xHT9e8XRNaqstjmN0AST\nNW5p\r\n=CLmU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"beee746d8af228d72ca6695c66fba135fbdaf03f","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha","example":"node --trace-uncaught example/example.js","lint-src":"eslint \"src/**/*.js\" --fix","lint-test":"eslint \"test/**/*.js\" --fix","lint-example":"eslint \"example/**/*.js\" --fix"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"7.4.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"15.6.0","dependencies":{"moment":"^2.29.1","archiver":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.x","mocha":"^8.3.0","sinon":"9.2.x","eslint":"^7.20.0","eslint-plugin-import":"^2.22.1","eslint-config-airbnb-base":"^14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.0.0_1614023603038_0.2992713877507227","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"nodepub","version":"3.0.1","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.0.1","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"345a687f28c1852332087329fbc3aac40a049d4c","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.0.1.tgz","fileCount":35,"integrity":"sha512-aS38l5pCHKeDajiNoZyiLcJIDnZYfFfmpGLtgYUJ4K22wChVX7gvA86dK5XWjPdj1Em7VSIiQNQzwjxmra0xlg==","signatures":[{"sig":"MEUCIQDDCCVaLYZ/6kmGOZXPIcOebbv2gsSyuiCD0yuzdf8KsAIgAW6mjtLKhSlk4j3AzpBlpVYFe4AFxEAloeuRMbR5FZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":353244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNDbJCRA9TVsSAnZWagAAMigP/32KiTbWTxiC5DZNb/Bb\nJ5Wsa9K51KEqoxIs7uUAPAwQk/W/YBxhxlNL53Qqnvt7L/ZV35fLHuiJIr7Z\nm1EWtmQIvd26B6tLgulLMcyAV+oKlHqIRvjwhSDrBLvdWYlq+UXPzYYGgSKR\niruAWGMyH2Shoc5zrkrv3pT01OOCmGRVMRrwSLjwZ8vpqd12iERi/gCTLgeI\n6esbMFbdM5UMsGOFqClmxl1YNW3VCWk6ses4lbDCFJP9BfnnkwWE1e2EiQ5Q\nFjXbuLXjQ8zroikEB7MuWRDwr4oYV0rnMD/N6uzrQ7XoUx4oFTsilsdrpNKI\nhVkUpWyD/72fDQtoY1sa8sovq7EsHxDbNXrIm7imC7g0wFRd72297LUmgdMX\nF9HnLX4wD66SRnPa4ulqRsUkcKAIWMHLWQrdDu8zrVZGBYAheJKd3+7f/Yle\ntqmqNRlBZqRCyHSJD028WI1wnQ7rVhhy/16MafQ0IyU7ypTgDxdCmMRpV+0O\nbw8rlbfF44kX02iz9ecELrIwj2mI499YUJ6f5NxF68pHcFQWQWYkQNPe3c6F\nod4OoxWz1xjm5wt0vg/WrAweHqJuwqBN0c1+O0znEb96AYU8fOvjNWwvENiO\nvBVZhkPmvdFXXROIz0e6RomuUWmdENIqsuH85xrsKsT3IKwEP9E4cCYoT/Qu\nBjR7\r\n=H4KJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"f3e8749a1bcac327e932de7638931caaf6da03f7","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha","example":"node --trace-uncaught example/example.js","lint-src":"eslint \"src/**/*.js\" --fix","lint-test":"eslint \"test/**/*.js\" --fix","lint-example":"eslint \"example/**/*.js\" --fix"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"7.4.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"15.6.0","dependencies":{"moment":"^2.29.1","archiver":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.x","mocha":"^8.3.0","sinon":"9.2.x","eslint":"^7.20.0","eslint-plugin-import":"^2.22.1","eslint-config-airbnb-base":"^14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.0.1_1614034632717_0.46364664386615306","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"nodepub","version":"3.0.2","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.0.2","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"dc08f175121035b7b9f5cb71c28c07d343d88235","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.0.2.tgz","fileCount":35,"integrity":"sha512-J2Ju3N3+N3qX0TBmyZP6sqMkW3BRP+FlqdSk6TIt7ZLhnYkehMLkXjfcTp6ExFabyZV5kB/eEeq0zr76gH0J9Q==","signatures":[{"sig":"MEQCIEyF309euOHNdzvDZ5dz160/WxZoyvNtx3LvKrUi5T3IAiAkguUG2RJYvZDkc/cG+msNDnb6n5OQtSJhbCkPebG4Mg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":353391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgc3LjCRA9TVsSAnZWagAACmYP/0qc0RdkvQwmfN6/TaKB\nu7CeFM5tr43mZmRb4qAcmiDD+C0PYtX6GJQ0YNZR81aDt3EP8HQmkrSKMon2\nPyv6bg2FU3u2qutQhL83sCyug4WgQNTB89tVnH0BV4ySKWgD6LUj6HYYpj5J\nokTZgU5NcqTkdBnmF5vlx5Ij+Y1FQuTG8xGw3DsOCYqkOA2MehCgvjNhEpwF\njjyobEdzSQaWPxM0HBk4lYyw+wsTX/Y/zrgOF7vFjLRfcNRUiaUFd2h671JO\ny63r2tFUSWXLb9VwBl1EqoB5ftTmyCuzbSNfDHO23k7w9nJbChMzkkEmMu6y\nLLgQV0IhWwltQ0ZKtLORWh1qwTo6legwwsY0phrxhF06z+eUo/ts2gabkbM2\nSixlJwlN+M2IdTwogvHM2JkzIaqTjlG7hBYF2y+GHlJFAfP7QDcVQsQDcxC5\nXUW//saSUY5+GcegwyDCbmSRSeZYXTcHbr/kwsfXhldrkUI66zx3LQ4cPY0R\n9TJ6g1b2IBKmipIc/V6BU1/yDtJg41jx6SOZsrJpm+FW9C3IrI4aiYglxj9t\n6y5d+FQB0cnfxeiHB0LLfKDbh173txQhHWJbTwVzZ6huMhdqFGqHbimBnB8G\n4Pas2loW7Y0ZItGUQCDUEk4SHlJxSbY3Fli2IMw3yZDd+tQU6YEc9pqYYR8C\nimDN\r\n=Ck3I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"682bb8c23c475b54d39d880ca9d6373e555cff33","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha","example":"node --trace-uncaught example/example.js","lint-src":"eslint \"src/**/*.js\" --fix","lint-test":"eslint \"test/**/*.js\" --fix","lint-example":"eslint \"example/**/*.js\" --fix"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"7.4.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"15.6.0","dependencies":{"moment":"^2.29.1","archiver":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.x","mocha":"^8.3.0","sinon":"9.2.x","eslint":"^7.20.0","eslint-plugin-import":"^2.22.1","eslint-config-airbnb-base":"^14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.0.2_1618178787171_0.6331281979863772","host":"s3://npm-registry-packages"}},"3.0.4":{"name":"nodepub","version":"3.0.4","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.0.4","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"36d9d93b8b63dd7257df6e639b55deb274e753c4","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.0.4.tgz","fileCount":35,"integrity":"sha512-ufKzR+mLJfMH90BYcT3YBdnJvBKoYZpd1T/aQag4YkDquAHOQ1IKAc75VHqdM0Q/lWJMbcuLooc/uo/ufQfBiQ==","signatures":[{"sig":"MEYCIQCwdsY21Xw82Nqc10rr9Qd7xCoeKmXI+34IQwoZKjv24wIhALJXdcJpSdyzgMI5IBVhsmwf0mjyXdQNYuwZHTnl55gf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":353684},"main":"src/index.js","gitHead":"836bb0d988b4ec60e5389950186ee476bade84db","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha","example":"node --trace-uncaught example/example.js","lint-src":"eslint \"src/**/*.js\" --fix","lint-test":"eslint \"test/**/*.js\" --fix","lint-example":"eslint \"example/**/*.js\" --fix"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"7.24.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"16.10.0","dependencies":{"moment":"^2.29.1","archiver":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.x","mocha":"^8.3.0","sinon":"9.2.x","eslint":"^7.20.0","eslint-plugin-import":"^2.22.1","eslint-config-airbnb-base":"^14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.0.4_1633298759275_0.050383297608985966","host":"s3://npm-registry-packages"}},"3.0.5":{"name":"nodepub","version":"3.0.5","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.0.5","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"516970b2b26e574a3f5c68bd37f28d68e041ce02","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.0.5.tgz","fileCount":35,"integrity":"sha512-vk/ascrfsxMa8s65oJ234BW28J1orPvwJ4gCJSuZcUfKIBoIFfuxyRm4Cg7Jt12W1kfH5RafTnawEeeWkRoEIA==","signatures":[{"sig":"MEQCIGu36iB64U2+PBfwTisE/uzJLxUjPeTAezkacFqxVHxKAiB/1X4oIZRAoKTJ7wBGkNUqjqX4BNKr5mUOHTtHd/u8xQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":353994},"main":"src/index.js","gitHead":"a6f13c158e47ccc197c36bc9a08854bc14420662","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha","example":"node --trace-uncaught example/example.js","lint-src":"eslint \"src/**/*.js\" --fix","lint-test":"eslint \"test/**/*.js\" --fix","lint-example":"eslint \"example/**/*.js\" --fix"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"7.24.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"16.10.0","dependencies":{"moment":"^2.29.1","archiver":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.x","mocha":"^8.3.0","sinon":"9.2.x","eslint":"^7.20.0","eslint-plugin-import":"^2.22.1","eslint-config-airbnb-base":"^14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.0.5_1633332816047_0.2405189646631476","host":"s3://npm-registry-packages"}},"3.0.6":{"name":"nodepub","version":"3.0.6","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.0.6","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"fbc875f40f15c91dc7dfdac2cd583ba90fed85a0","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.0.6.tgz","fileCount":36,"integrity":"sha512-/3Q5ChviDBzBYkfL8IuHgiPCbtR/yTkz8cabJ3iykyZTes5FCGCLr/CJZzGJP3ZBKp4AASGPcigrI3BGGYzgGw==","signatures":[{"sig":"MEUCIQDME6lnP15EJqtJWx5SiTH+mSirsYtdrCBM6++neyl6LQIgPCpOk3u1adD7APaBQ5kH54fAWDqI1eF+6neE6Xa5Fqk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":362114},"main":"src/index.js","gitHead":"0081542b6cb7f6dc9d04e8e7057df2b2298113c7","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha","example":"node --trace-uncaught example/example.js","lint-src":"eslint \"src/**/*.js\" --fix","lint-test":"eslint \"test/**/*.js\" --fix","lint-example":"eslint \"example/**/*.js\" --fix"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"7.24.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"16.10.0","dependencies":{"moment":"^2.29.1","archiver":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.x","mocha":"^8.3.0","sinon":"9.2.x","eslint":"^7.20.0","eslint-plugin-import":"^2.22.1","eslint-config-airbnb-base":"^14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.0.6_1633431897718_0.256362292768499","host":"s3://npm-registry-packages"}},"3.0.7":{"name":"nodepub","version":"3.0.7","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.0.7","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"d8d9b1090dd09d6613f06100355dd26bdfb7702c","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.0.7.tgz","fileCount":36,"integrity":"sha512-/+/Y2rlP9FZPUYZnqeuTbJeVySKJE8REx91Ev9ibadf8BAKUnQm8dB5Jg58fHdSiaEOeGkQinyPmVMWfDd2IqA==","signatures":[{"sig":"MEUCIAbRZJQelV96uIcpiyXYJX6IfOX0e3PzbcR29i7nWhuCAiEAveGnVMg39CRndJGsE+yGShw11zXQzKT8DOcLr/N0HyA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":358872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh21OXCRA9TVsSAnZWagAA9p0P+wVylnJquznPyxPzwV9c\nO3vxA9l2DpLC9hEL0SwdF1I6n5QsCt+hwEizJu2bHAzengW73jlYNCKtwww3\nQwyuUQLAbS6cvak5s+fB72Hm/vqiiLBQYmXLAI+zfVvNpHqb9QPRm3788ZRZ\nuoviiSmOjkyVlYBu87zWBs6HARHWga712empwngy5MVFb+3OaarpWMdbZlMP\ntk1ptt/Va2nfE7+0xnkRsJvX3E88X6HGA/kR0C8WETuMCArp3AEtgFXRdD4E\nWtyuikm20qgyrauphwbdk8CAGunMvTWjGcDSzbcasCkEEI6NEBfabgZUAYKN\noTH53TtvlEE+8tCG8bOZbdZWAZNXPpQEXvQ4diY9Ma0/1mcUGq9r+Hxuxr7M\nod08o+eBwG6RGG2XnBGE8mHEGLBj9SgzRBNeXvqx6r/RHHifWIBnjU6cLhIA\n5IRgh3tmL5v+92YHdMimQLYpMDFhQUqbyAME7rc/GmfYStjfmKXshEf4+uBy\nu6HTpe/N8znmJJ8eA8kZlCd3EXRyg8eSnbIKJuRYVRWyxHOpRSwTUgOwMz6h\n0aErDLj4D1pTVatB4545sVlflkmseljQ1RrUcCLrueflBWhTgN44k/Cevl4h\niszk8pxls/cz6WgcVW4cSwy4eLzthEwdpu5HVmnea3LI0xQ4Bx43js/RO7vZ\nlMFp\r\n=iWw0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"d8401cb444f4f4673950b102f61213efcad7a560","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha","example":"node --trace-uncaught example/example.js","lint-src":"eslint \"src/**/*.js\" --fix","lint-test":"eslint \"test/**/*.js\" --fix","lint-example":"eslint \"example/**/*.js\" --fix"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"7.24.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"16.10.0","dependencies":{"moment":"^2.29.1","archiver":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.x","mocha":"^8.3.0","sinon":"9.2.x","eslint":"^7.20.0","eslint-plugin-import":"^2.22.1","eslint-config-airbnb-base":"^14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.0.7_1633465244497_0.45557537689344607","host":"s3://npm-registry-packages"}},"3.0.8":{"name":"nodepub","version":"3.0.8","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.0.8","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"2a847df4077116ddaea6aaf4be6520d217fabcc9","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.0.8.tgz","fileCount":37,"integrity":"sha512-4XGbj8RgDKQlu4pfu6ULwF/nDtoZ8o9JIgXgY/oMM/mqAaLDJFqcfxYICUvFOT69u4KgJUlRGJhPIL5oPwnTpw==","signatures":[{"sig":"MEQCIHI1S4ceOpymbxEoaeNICocwpEyuxNdMhjVQUMSYU6dQAiBrexn+uR4q9TWHpy41rNsu0yGThA7zdxUdGxZkTvfi3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":362374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIP32ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcDQ//f7djBXOWaqIAptiyQve40bJo5Dw91tyOR4YHAZ+0XujnzIvY\r\nDuP3JQ4lfg2UssU70HAaXX5VhgUoUKiUOLcybxPUsMmesdNnXcoIt0br1mii\r\nERxAtfNbF7Vmi4f8MIQbEKPBZE5K3hScwBdw1PWfzKTdX06OQGZfa3FdSjaN\r\n0POvVECYorp0JgmqFWW04Tl/9BdBsmm+CEv/ysWW3P2H99dSbI6YaLhmO1si\r\nrNU8u47DZfj6FIvw6gQIjn4AC5Pc+BlIrsJq0Y0pecRsU1R8OO6fUafySjMn\r\nlCLGHRlaDf+nQI7dNcgYP4ec+WUbrM+FN0qGeln1a2rE2S6eEiVv1/3K8jkD\r\nfAbmD73IELWjouTRuZbim2sGGsN0PvH9Tvnt0a3X+OmK8uvS5sHD51xsfTES\r\nX+QOsQxKPSF2fwy/EwAwT17n0FolqWznH65jRxVbA9BoRl0dVfS6WXIgtFjc\r\nelv+awTA2lEC+xM/U22gCDMbzsAI/gMMsbW/whZOk0UGEgpurotT6rSrKhDn\r\nheYZ15nH/yyFPajIKo3ReOrtWw26HWK9Oa9gh1yV4/cRD3WFRrwgLjx1cJPX\r\ne1KoYVdQ6iDzwkK3jSGRmee9DI5TTRnZ6ovobNgtRoClvPnWYeMkCUNSTi6M\r\n0yxJAgarBoi6t7vvKHC54dXcVRGOprm8y1c=\r\n=a75c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"a121d820b5ae5838d7541ca7be7b8dc91065542d","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha","example":"node --trace-uncaught example/example.js","lint-src":"eslint \"src/**/*.js\" --fix","lint-test":"eslint \"test/**/*.js\" --fix","lint-example":"eslint \"example/**/*.js\" --fix"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"8.1.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"moment":"^2.29.1","archiver":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.x","mocha":"^9.2.1","sinon":"13.0.x","eslint":"^8.10.0","eslint-plugin-import":"^2.25.4","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.0.8_1646329333849_0.050334183673199195","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"nodepub","version":"3.1.0","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.1.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"95fdd82d3fd88956267f2d475052c266ed1adeca","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.1.0.tgz","fileCount":19,"integrity":"sha512-TdB+mtQDCrhrzklu9YPELx82+X/jn1Kpa7CwTH9pl/DbZJNhV6TMZson+Skyt6lAOdf9WxrYq2UYwDc3fvaCSg==","signatures":[{"sig":"MEYCIQCZPc37SowdKe95lG3A+qon0JFAeqd8FD43fY1FvGoz3AIhAIrIYwTzhDTwhTg84STKih9J18VyPgKXz7GkmxtFChIR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256982},"main":"src/index.js","gitHead":"8d5aef711cd673c14a937b9882280115c7d5495f","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha","example":"node --trace-uncaught example/example.js","lint-src":"npx standard --fix src","lint-test":"npx standard --fix test","lint-example":"npx standard --fix example"},"_npmUser":{"name":"kcartlidge","actor":{"name":"kcartlidge","type":"user","email":"code@kcartlidge.com"},"email":"code@kcartlidge.com"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"10.9.2","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"audit":"^0.0.6","moment":"^2.30.1","archiver":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.2.x","mocha":"^11.7.1","sinon":"21.0.x"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.1.0_1750796739824_0.6543009160217659","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"nodepub","version":"3.2.0","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.2.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"38e1a03b45864b72beaccc3277eab7685a5ff0ef","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.2.0.tgz","fileCount":23,"integrity":"sha512-2apvwLVba05NzNEDOAeoIaRgV+uNgfjDyAJHZvcWj9mmVAybnfsJIZ6lcucI66+xTsrjgxrsxLYsN76orvvVXQ==","signatures":[{"sig":"MEUCIQDTGL4SKBpWvkaBW87rsFNU6lJv4Cr0mkZauHNqa1Z5iAIgWRlVDaS27n5XJjkTI7ctJrVPMUuOy5rb5PejWZNXAG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262610},"main":"src/index.js","gitHead":"bd81be4c11622695774ba8d9b881483c50e98c5e","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha test/**/*-spec.js","example":"node --trace-uncaught example/example.js","lint-src":"npx standard --fix src","lint-test":"npx standard --fix test","lint-example":"npx standard --fix example"},"_npmUser":{"name":"kcartlidge","actor":{"name":"kcartlidge","type":"user","email":"code@kcartlidge.com"},"email":"code@kcartlidge.com"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"11.3.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"audit":"^0.0.6","moment":"^2.30.1","archiver":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.2.x","mocha":"^11.7.1","sinon":"21.0.x"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.2.0_1751023441066_0.5498531664435813","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"nodepub","version":"3.2.1","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.2.1","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"5764a82c3a54e0f5c328f6f3168a67d1f6e81ee5","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.2.1.tgz","fileCount":23,"integrity":"sha512-eM7nIUq+gUqgykzWQQeLr6N3RV1j1ROV8YOVgJkg6jTVsoCJWqD3WtKeiYw8L62m5IgDq8Nd8rrUeRCT9douYQ==","signatures":[{"sig":"MEUCIQCbTYAlNbsvB2MLu8uOj9uUncUwbWvopgW9y2CEv2PddgIgLvLEd/krMwKXSqJJDQ+JFSzEXqOzOwo8JzmoObG5l90=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263333},"main":"src/index.js","gitHead":"d69f1f0fa3178b087663df501630c65505d3cae4","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha test/**/*-spec.js","example":"node --trace-uncaught example/example.js","lint-src":"npx standard --fix src","lint-test":"npx standard --fix test","lint-example":"npx standard --fix example"},"_npmUser":{"name":"kcartlidge","actor":{"name":"kcartlidge","type":"user","email":"code@kcartlidge.com"},"email":"code@kcartlidge.com"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"11.3.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"audit":"^0.0.6","moment":"^2.30.1","archiver":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.2.x","mocha":"^11.7.1","sinon":"21.0.x"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.2.1_1751031728751_0.5961424787772915","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"nodepub","version":"3.3.0","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.3.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"a3ec56b8cccc82404e8f925f3994ff54865ae1df","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.3.0.tgz","fileCount":23,"integrity":"sha512-E9TTMmToAsP8mCqtxbY1UARVIi96MOiDaWws9ROvgPq/H/AWcHhA8P0ctjvJWcN7/Eb9SsI8kjL9Wxi5QGj4xA==","signatures":[{"sig":"MEYCIQDKwBDp9zB3gGIWp6OskIhLvpsAaJSXW8f0Abn9+uKrqwIhAOe0+BCGaS3bP4NyWER2wICsZmQA6LvPU4qH0De0NL0i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266526},"main":"src/index.js","gitHead":"ecb297e584d87de42a113fd02897b2a4a670406d","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha test/**/*-spec.js","example":"node --trace-uncaught example/example.js","lint-src":"npx standard --fix src","lint-test":"npx standard --fix test","lint-example":"npx standard --fix example"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"deprecated":"Deprecated due to confusing metadata option name","repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"11.19.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"audit":"^0.0.6","moment":"^2.30.1","archiver":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"6.2.x","mocha":"^12.0.0","sinon":"22.1.x"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.3.0_1788546895224_0.17095889660735009","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"nodepub","version":"3.4.0","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@3.4.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"7aabb08d04bd717dc62691f2e9d6862f6f5f7d4e","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-3.4.0.tgz","fileCount":23,"integrity":"sha512-oMYNMZ0wE25v/gSBzCZgwyWSwZ0vuFXwGpwJL56jIlPM/6oIGliY2UnzifmnnuwycUVrT3yQ2ekLhOJ4n9iTNQ==","signatures":[{"sig":"MEUCIQCGNpOfuaPr65RtojIg9tAPtPobiJ6pHNMomMOIOuO8DgIgTul1/IA3k+189k+mXXjYyPYTxXtRp3zi5VPQBmJj5QI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268166},"main":"src/index.js","gitHead":"4da66e377c23aee684b06f97750e0c6478ae5319","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha test/**/*-spec.js","example":"node --trace-uncaught example/example.js","lint-src":"npx standard --fix src","lint-test":"npx standard --fix test","lint-example":"npx standard --fix example"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"11.19.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"audit":"^0.0.6","moment":"^2.30.1","archiver":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"6.2.x","mocha":"^12.0.0","sinon":"22.1.x"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_3.4.0_1788559763907_0.493554988193847","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"nodepub","version":"4.0.0","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@4.0.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"8e97eb98d44d8fbd6bc64f3ab6618a4fdbbaae6f","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-4.0.0.tgz","fileCount":34,"integrity":"sha512-eGIwlDhezJFYQ1003xMc++fwLuUWBWbWRiZFwhjd5EnCZnAyuKyo3yvrUExxO/LxM0G7EUq4RmkHedv8vJUcgA==","signatures":[{"sig":"MEYCIQCrVpnaxJFhYT6D/rhIJupQZkG+4ogDqBBDMYk1+4p0cAIhANXkd85ymZiPEkeQZLEHY6vVFz2bUrCqR2YXr9pSX6XY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270631},"main":"src/index.js","gitHead":"fc2fda3807d243930be2661d6dadfa292c17885d","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha test/**/*-spec.js","example":"node --trace-uncaught example/example.js","lint-src":"npx standard --fix src","lint-test":"npx standard --fix test","lint-example":"npx standard --fix example"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"11.19.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"ejs":"^6.0.1","audit":"^0.0.6","moment":"^2.30.1","archiver":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"6.2.x","mocha":"^12.0.0","sinon":"22.1.x"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_4.0.0_1788629291588_0.11830699293317881","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"nodepub","version":"4.1.0","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@4.1.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"02a2db1372bd807c97274615e121b3e55b601ae5","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-4.1.0.tgz","fileCount":39,"integrity":"sha512-xY7P2zxq1p6PU8s9V7w4xdNNwqEzuHdGnW8TwVwfJIO35Yr5r+bPMvi+kpZzztZzkgUHTfkSXXFvHBOiYor49A==","signatures":[{"sig":"MEYCIQDlYSeHp9iJ7S+5EbFdz6ayrHiRjm2BBPgMlbCH2qDeegIhALqT0IMD0xqXldSfWxriM9B/yEj4wK7xYBH1uUlN/0yt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336217},"main":"src/index.js","gitHead":"b63733e35cffc57d872c27781be5ef9a271d8903","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha test/**/*-spec.js","example":"node --trace-uncaught example/example.js","lint-src":"npx standard --fix src","lint-test":"npx standard --fix test","lint-example":"npx standard --fix example"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"11.19.0","description":"Create valid EPUB (v2) ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"ejs":"^6.0.1","audit":"^0.0.6","moment":"^2.30.1","archiver":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"6.2.x","mocha":"^12.0.0","sinon":"22.1.x"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_4.1.0_1788639310100_0.22125128166060515","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"nodepub","version":"5.0.0","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@5.0.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"b56fbdab768ddba7cb8fed7c8c3d7a33821fecf6","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-5.0.0.tgz","fileCount":54,"integrity":"sha512-fZUAe9PsmbD3vK3+osZ7G2ampj1aiDjfS69Yrm/5uwl9k7DJxjr2fjnlb1RKX5x6SMaBp6yjfqxF8SCF6zB2Og==","signatures":[{"sig":"MEUCIQD2rhXhMC3jnIYFv1i69/64nadi4P0IZrcciUmwtggWywIgemgI5ZTgJmbhzMUhjTk1qYKorZIh2SDj49P3K5Jtt54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452270},"main":"src/index.js","gitHead":"b9e968e4c25b41fcdca3cf07c8f24b6e34669a86","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha test/**/*-spec.js","example":"node --trace-uncaught example/example.js","lint-src":"npx standard --fix src","lint-test":"npx standard --fix test","lint-example":"npx standard --fix example"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"11.19.0","description":"Create valid EPUB 2 and EPUB 3 ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"ejs":"^6.0.1","audit":"^0.0.6","moment":"^2.30.1","archiver":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"6.2.x","mocha":"^12.0.0","sinon":"22.1.x"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_5.0.0_1788771824035_0.6660744711184945","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"nodepub","version":"5.1.0","keywords":["epub","ebook"],"author":{"url":"https://kcartlidge.com","name":"K Cartlidge"},"license":"MIT","_id":"nodepub@5.1.0","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"homepage":"https://github.com/kcartlidge/nodepub","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"dist":{"shasum":"b2208352d4f6a517038d53fb0f59edd3a92ea5c0","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-5.1.0.tgz","fileCount":54,"integrity":"sha512-Dlz15cW3zz1sUIsx+EA4zA778hX/IyD9fGoBOMwmxC3vYWBhuC+fopl8McgOZQlU0Os5zawwHWqxC3ZLkpv4Ew==","signatures":[{"sig":"MEUCIGMH5YNgD1jR3ZNNl1w4zmn5b5EknR4A77CWeMi51YDFAiEAydFvSKf506Agayzrex/YQYahhQjfQXHcH0xYwgfn0UY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453769},"main":"src/index.js","gitHead":"b9e968e4c25b41fcdca3cf07c8f24b6e34669a86","scripts":{"lint":"npm run lint-src && npm run lint-example && npm run lint-test","test":"mocha test/**/*-spec.js","example":"node --trace-uncaught example/example.js","lint-src":"npx standard --fix src","lint-test":"npx standard --fix test","lint-example":"npx standard --fix example"},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"repository":{"url":"git+https://github.com/kcartlidge/nodepub.git","type":"git"},"_npmVersion":"11.19.0","description":"Create valid EPUB 2 and EPUB 3 ebooks with metadata, contents and cover image.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"ejs":"^6.0.1","audit":"^0.0.6","moment":"^2.30.1","archiver":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"6.2.x","mocha":"^12.0.0","sinon":"22.1.x"},"_npmOperationalInternal":{"tmp":"tmp/nodepub_5.1.0_1788775651354_0.013186551166994853","host":"s3://npm-registry-packages-npm-production"}},"5.1.1":{"name":"nodepub","version":"5.1.1","description":"Create valid EPUB 2 and EPUB 3 ebooks with metadata, contents and cover image.","main":"src/index.js","scripts":{"test":"mocha test/**/*-spec.js","lint":"npm run lint-src && npm run lint-example && npm run lint-test","lint-src":"npx standard --fix src","lint-example":"npx standard --fix example","lint-test":"npx standard --fix test","example":"node --trace-uncaught example/example.js"},"repository":{"type":"git","url":"git+https://github.com/kcartlidge/nodepub.git"},"keywords":["epub","ebook"],"author":{"name":"K Cartlidge","url":"https://kcartlidge.com"},"license":"MIT","bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"homepage":"https://github.com/kcartlidge/nodepub","dependencies":{"archiver":"^8.0.0","audit":"^0.0.6","ejs":"^6.0.1","moment":"^2.30.1"},"devDependencies":{"chai":"6.2.x","mocha":"^12.0.0","sinon":"22.1.x"},"standard":{"globals":["describe","context","before","beforeEach","after","afterEach","it","expect"]},"gitHead":"1cbae9b6d6b1a3a06ce53d786e0dbcd4dfa55add","_id":"nodepub@5.1.1","_nodeVersion":"26.7.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-dbUkx2vgQB22hj+8yCKgJXPOLihXYNWGto25WOCJ18vjfHMjDGHHGiuDk/uJo6j8IRWk1oW+57uQTTcdDZ1ijw==","shasum":"feba515d19e7e2fceba89b74702c766bb5ea300f","tarball":"https://registry.npmjs.org/nodepub/-/nodepub-5.1.1.tgz","fileCount":54,"unpackedSize":453854,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDbK1AnN+FY8N6XWTzvtRQTdgILI+hzw5RrF0v893RKOgIhAO8IrZN7s0yc3VZ2PsaL4s7rkCh/DAd0Jt4MWpKYMpju"}]},"_npmUser":{"name":"kcartlidge","email":"code@kcartlidge.com"},"directories":{},"maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nodepub_5.1.1_1788777191964_0.31205510207942977"},"_hasShrinkwrap":false}},"time":{"created":"2015-12-11T17:14:57.579Z","modified":"2026-09-07T10:33:12.326Z","0.6.3":"2015-12-11T17:14:57.579Z","0.6.4":"2015-12-11T17:23:12.900Z","0.6.5":"2015-12-11T17:48:33.656Z","1.0.0":"2015-12-30T13:06:50.141Z","1.0.1":"2015-12-30T23:11:31.726Z","1.0.2":"2015-12-31T18:46:32.732Z","1.0.3":"2016-01-03T13:43:26.669Z","1.0.4":"2016-01-03T18:03:18.508Z","1.0.5":"2016-04-08T05:46:13.623Z","1.0.6":"2016-04-11T06:22:46.747Z","1.0.7":"2016-05-10T20:22:22.666Z","2.0.7":"2016-10-27T11:40:57.993Z","2.1.0":"2019-03-20T12:08:22.186Z","2.1.1":"2019-03-20T12:26:30.036Z","2.2.0":"2020-04-13T14:03:31.246Z","3.0.0":"2021-02-22T19:53:23.190Z","3.0.1":"2021-02-22T22:57:12.933Z","3.0.2":"2021-04-11T22:06:27.379Z","3.0.3":"2021-10-03T22:01:32.692Z","3.0.4":"2021-10-03T22:05:59.503Z","3.0.5":"2021-10-04T07:33:36.373Z","3.0.6":"2021-10-05T11:04:57.905Z","3.0.7":"2021-10-05T20:20:44.674Z","3.0.8":"2022-03-03T17:42:14.153Z","3.1.0":"2025-06-24T20:25:40.195Z","3.2.0":"2025-06-27T11:24:01.279Z","3.2.1":"2025-06-27T13:42:08.973Z","3.3.0":"2026-09-04T18:34:55.370Z","3.4.0":"2026-09-04T22:09:24.067Z","4.0.0":"2026-09-05T17:28:11.738Z","4.1.0":"2026-09-05T20:15:10.266Z","5.0.0":"2026-09-07T09:03:44.189Z","5.1.0":"2026-09-07T10:07:31.488Z","5.1.1":"2026-09-07T10:33:12.125Z"},"bugs":{"url":"https://github.com/kcartlidge/nodepub/issues"},"author":{"name":"K Cartlidge","url":"https://kcartlidge.com"},"license":"MIT","homepage":"https://github.com/kcartlidge/nodepub","keywords":["epub","ebook"],"repository":{"type":"git","url":"git+https://github.com/kcartlidge/nodepub.git"},"description":"Create valid EPUB 2 and EPUB 3 ebooks with metadata, contents and cover image.","maintainers":[{"name":"kcartlidge","email":"code@kcartlidge.com"}],"readme":"![Mocha](https://img.shields.io/badge/mocha-passing-success)\n![Wallaby.js](https://img.shields.io/badge/wallaby.js-configured-success.svg)\n\n# Nodepub\n\nCreate valid EPUB 2 or EPUB 3 ebooks with metadata, contents, cover, and images.\n\n*This is a utility module, not a user-facing one. In other words it is assumed that the caller has already validated the inputs. Only basic sanity checks are performed.*\n\n## Contents\n\n- [About Nodepub](#about-nodepub)\n- [Installation](#installation)\n- [Creating an EPUB](#creating-an-epub)\n  - [Setting the Metadata](#setting-the-metadata)\n    - [Example Metadata](#example-metadata)\n  - [Adding Contents](#adding-contents)\n    - [Text Substitutions](#text-substitutions)\n  - [Including Images](#including-images)\n  - [Changing the Styling](#changing-the-styling)\n  - [Custom Table of Contents](#custom-table-of-contents)\n  - [Generating Output](#generating-output)\n    - [Ready-to-Use EPUB](#ready-to-use-epub)\n    - [Folder of EPUB-Ready Files](#folder-of-epub-ready-files)\n    - [Object with All Content](#object-with-all-content)\n    - [Using in Non-Async Code](#using-in-non-async-code)\n- [Validating EPUBs](#validating-epubs)\n- [A Full Example](#a-full-example)\n- [Breaking changes over v3](#breaking-changes-over-v3)\n- [Breaking changes over v2](#breaking-changes-over-v2)\n\n\n## About Nodepub\n\nNodepub is a **Node** module which can be used to create **EPUB 2** (default) or **EPUB 3** documents.\n\nEPUB 3 output is a valid EPUB 3 document, not a full implementation of all EPUB 3 features.\n\n- Files pass *EPUBCheck v5.1.0*\n  - See the [Validating EPUBs](#validating-epubs) section\n- Files meet Sigil's preflight checks\n- Files open fine in iBooks, Adobe Digital Editions, and Calibre\n- Files open fine with the Kobo H20 ereader\n- Files are fine as *KindleGen* input\n- PNG/JPEG cover images\n- Inline images within the EPUB\n  - See [Including Images](#including-images) for supported formats\n- Custom CSS can be provided\n- Optionally generate your own contents page\n- Front matter before the contents page\n- Exclude sections from auto contents page and metadata-based navigation\n- OEBPS and other 'expected' subfolders within the EPUB\n\nDevelopment is done against Node v26.7.0 since v4.0.0 (2026).\n*Node v20.19 or later* should work fine (needed for Archiver 8 which is >=18 and also ESM-only).\n\n## Installation\n\nIt's an [npm package](https://www.npmjs.com/package/nodepub).\nTo install it:\n\n``` sh\nnpm i nodepub\n```\n\nThen import it for use:\n\n``` javascript\nvar nodepub = require('nodepub');\n```\n\n## Creating an EPUB\n\n- Documents consist of *metadata*, *sections*, and *images*\n  - Metadata is provided in the form of an object with various properties detailing the book\n  - Sections are chunks of HTML where each represent a chapter, front/back matter, or similar\n  - Images are inlined image files that can appear within the body of the EPUB\n    - The cover is a special image which is declared within the metadata\n\n### Setting the Metadata\n\nThe first task is to declare the metadata which describes your EPUB. You use that metadata when creating a new document.\n\n``` javascript\nvar epub = nodepub.document(metadata);\n```\n\n#### Example Metadata\n\n``` javascript\nvar metadata = {\n  epubVersion: 2,\n  id: '278-123456789',\n  cover: '../test/cover.jpg',\n  title: 'Unnamed Document',\n  series: 'My Series',\n  sequence: 1,\n  author: 'KA Cartlidge',\n  fileAs: 'Cartlidge, KA',\n  genre: 'Non-Fiction',\n  tags: 'Sample,Example,Test',\n  copyright: 'Anonymous, 1980',\n  publisher: 'My Fake Publisher',\n  published: '2000-12-31',\n  language: 'en',\n  description: 'A test book.',\n  addInternalCover: true,\n  appendSeriesToTitle: true,\n  transformNamedEntities: true,\n  showContents: false,\n  contents: 'Table of Contents',\n  source: 'http://www.kcartlidge.com',\n  images: ['../test/hat.png']\n};\n```\n\n- `epubVersion` is `2` (default) or `3`\n- `cover` should be the filename of an image - recommendation is 600x800, 600x900, or similar\n- `series` and `sequence` are not recognised by many readers (it sets the properties used by *Calibre*)\n- `fileAs` is the sortable version of the `author`, which is usually by last name\n- `genre` becomes the main subject in the final EPUB\n- `tags` also become subjects in the final EPUB\n- `published` is the data published - note the *year-month-day* format\n- `language` is the short *ISO* language name (`en`, `fr`, `de` etc)\n- `addInternalCover` (default is `true`) lets you suppress the in-book cover page\n- `appendSeriesToTitle` (default is `true`) appends `(Series #n)` to the EPUB title\n- `transformNamedEntities` (default is `true`, EPUB 3 only) rewrites common named HTML entities to numeric character references\n  - EPUB 3 only allows a small subset; this option enables some more\n  - Switchable as you may want to handle these yourself, for example if you are using code blocks\n- `showContents` (default is `true`) lets you suppress the contents page\n- `contents` (default is `Contents`) is the title used for the table of contents page\n- `images` (an array) is where you refer to all images used inside the book - see [Including Images](#including-images) for details\n\nWhen `transformNamedEntities` is on for EPUB 3 the ones that are automatically transformed can be seen in the [named-entities.js](src/constituents/v3/named-entities.js) file.\n\n### Adding Contents\n\n> EPUB 3 is more strict on having XHTML content than EPUB 2, and reader devices *may* also be more strict when opening EPUB 3 books. Nodepub wraps the section content it's given within suitable XHTML tags, but that content will still be invalid if what is passed in isn't actually XHTML.  As with EPUB 2, not all reader devices or software will care.\n>\n> As a minimum tags should be well-formed and closed or self-closed as appropriate (eg `<p>...</p>`, `<br />`, or `<img ... />`). Optional HTML5 end tags will fail EPUBCheck.\n\nThere are two types of content. The type that appears as front/back matter (eg *Introduction* or *Epilogue*), and the type that forms regular content, usually a complete chapter. Each piece of content by default gets an entry in the table of contents.\n\nCall `addSection` on your new document with a title and the HTML contents for each section in turn, plus extra options as follows.\n\n``` javascript\nepub.addSection(title, content, excludeFromContents, isFrontMatter, overrideFilename);\n```\n\n| PARAMETER           | PURPOSE                          | DEFAULT |\n| ------------------- | -------------------------------- | ------- |\n| title (required)    | Table of contents entry text     |         |\n| content (required)  | HTML body text                   |         |\n| excludeFromContents | Hide from contents/navigation    | `false` |\n| isFrontMatter       | Place before the contents page   | `false` |\n| overrideFilename    | Section filename inside the EPUB |         |\n\nFor example:\n\n``` javascript\nepub.addSection('Copyright', copyright, false, true);\nepub.addSection('Chapter 1', \"<h1>Chapter One</h1><p>...</p>\");\nepub.addSection('Chapter 2', \"<h1>Chapter Two</h1><p>...</p>\", false, false, 'chapter-2');\nepub.addSection('Epilogue', epilogueText, true);\n```\n\nFor the above the *Copyright* page will appear as front matter ahead of the table of contents, *Chapter One* will be standard text, *Chapter Two* will also be standard text but within the EPUB itself the filename used is specifically overridden (often to provide stable interlinking), and the *Epilogue* appears at the end but is excluded from the contents page.\n\nIn detail:\n\n- `excludeFromContents` allows you to add content which does not appear either in the auto-generated HTML table of contents or the metadata contents used directly by ereaders/software. This is handy for example when adding a page at the end of the book with details of your other books.\n- `isFrontMatter` means content is included as normal but this flag is passed into any custom content page generation function you may choose to provide (see [Custom Table of Contents](#custom-table-of-contents)). Front matter will also appear in your book *ahead* of the contents page when read linearly. Useful for dedication pages for example.\n- `overrideFilename` allows the filename (don't provide an extention) to be specified manually, which stabilises internal linking across sections. This was always possible using the auto-generated filenames (eg `s2.xhtml`), but whilst the naming was predictable inserting a new section bumped following sections further along the sequence (so `s2` becomes `s3` instead), which breaks internal links. Using a manually named section prevents that breakage by guaranteeing the link will always go to the expected place. This should only be relevant if you are doing internal cross-section links; general works of fiction for example won't usually need this facility.\n\n#### Text Substitutions\n\nA simple form of text substitution is supported. At any point in your content you may include placeholders like `[[COPYRIGHT]]`. When the EPUB is generated any such placeholders which match the *capitalised* name of a *metadata* entry are replaced with the corresponding metadata value.\n\nFor example, you could have a *\"Thanks for Reading\"* page at the end of your book which has the following content:\n\n``` html\n<p>Thanks for reading <strong>[[TITLE]]</strong> by <em>[[AUTHOR]]</em>.</p>\n```\n\nWhen the EPUB is produced if your metadata sets a `title:` of *\"The Hobbit\"* and an `author:` of *\"JRR Tolkien\"* then it will generate this:\n\n---\n\nThanks for reading **The Hobbit** by *JRR Tolkien*.\n\n---\n\nThis means you can re-use content across multiple books, relying on the text subsitution to update that content based on the current book's metadata. Or you can refer to the author/title/series/whatever at any point within the book without worrying about consistent spellings for example.\n\n### Including Images\n\nIn [Setting the Metadata](#setting-the-metadata) the example metadata included an image:\n\n``` javascript\nmetadata.images = ['../test/hat.png'];\n```\n\nThis part of the metadata is an array of filenames which locate the source images on your system.\n(I strongly recommend you use relative paths in order to allow for documents being produced on different systems having different folder layouts.)\n\nThese images are automatically added into the EPUB when it is generated. They always go in an `images` folder internally. As they all go into the same folder they *should have unique filenames*.\n\nTo include the images in your content the HTML should refer to this internal folder rather than the original source folder, so for example `<img src=\"../images/hat.png\" />` in the above example.\n\n- Accepted image types are `.svg`, `.png`, `.jpg`/`.jpeg`, `.gif`, and `.tif`/`.tiff`.\n\n### Changing the Styling\n\nYou can inject basic CSS into your book. This allows you to override the basic styling to change how it looks.\nYou should use this sparingly - there is inconsistent CSS support across ereader devices/software.\n\nFor example the following ensures that in a flow of multiple paragraphs the first starts at the left margin whilst the second and subsequent paragraphs have their first line indented a little:\n\n``` javascript\nepub.addCSS(`p { text-indent: 0; } p+p { text-indent: 0.75em; }`);\n```\n\nIf you want to see the raw HTML in order to help with creating CSS then note that an EPUB file is just a ZIP file with pre-determined contents. If you expand it (you may need to rename it to a `.zip` file first) then you can see the individual section files inside.\n\nAlternatively see [Folder of EPUB-Ready Files](#folder-of-epub-ready-files) for how to write the EPUB innards into a folder instead of as a single file.\n\n### Custom Table of Contents\n\nThere is a default table of contents added into all generated EPUBs.\nIn addition to suppressing it (see [Setting the Metadata](#setting-the-metadata)) you can also create it yourself.\n\nYou do this by providing a callback function, a standard Javascript function which will be given a breakdown of the EPUB contents and is expected to return ready-to-use HTML for the table of contents page. You do this by passing that function as the second parameter when creating your document.\n\n``` javascript\nvar epub = nodepub.document(metadata, makeContentsPage);\n```\n\nThe above specifies a `makeContentsPage` function should be used to create the table of contents.\nHere's an example:\n\n``` javascript\nvar makeContentsPage = (links) => {\n  var contents = \"<h1>Chapters</h1>\";\n  links.forEach((link) => {\n    if (link.itemType !== \"contents\") {\n      contents += \"<a href='\" + link.link + \"'>\" + link.title + \"</a><br />\";\n    }\n  });\n  return contents;\n};\n```\n\nYou can see it is given a set of `links` and from them it composes HTML consisting of a `h1` title and a set of `a` tags separated by line breaks (`br`). This function is called every time a table of contents is needed during document generation.\n\nThe `links` parameter is an *array* which consists of *objects* with the following properties:\n\n- `title` is the title of the section being linked to\n- `link` is the relative `href` within the EPUB\n- `itemType` is one of 3 types, those being *front* for front matter, *contents* for the contents page, and *main* for the remaining sections\n  - You can use this for example to omit front matter from the contents page\n\n### Generating Output\n\nHaving defined your document generating an EPUB from it can be as simple or complex as you like.\nThat's because you have a choice of three options.\n\n- [For a full example, see example.js](./example/example.js) which uses Nodepub from *synchronous* code\n\n#### Ready-to-Use EPUB\n\nThis is the easiest option, as all the work is done for you.\n\n``` javascript\nawait epub.writeEPUB(folder, filenameWithoutExtention);\n```\n\n#### Folder of EPUB-Ready Files\n\nIf you want to do further work on your EPUB innards, this option writes the entire constituent files into a folder.\n\n``` javascript\nawait epub.writeFilesForEPUB(folderForConstituentFiles);\n```\n\nIf you use these files to create a subsequent EPUB yourself, that EPUB should consist of this output folder's contents zipped up and renamed but with the sole proviso that the first file in the zip should be the `mimetype` file and it should be *stored* not *compressed*.\n\n#### Object with All Content\n\nYou can have the EPUB innards returned to you directly for you to do what you want with (eg to store in a database).\n\n``` javascript\nconst files = await epub.getFilesForEPUB();\n```\n\nThis returns an array of objects, one per file, similar to the following:\n\n``` javascript\nconst files = [{\n  name: 'toc.xhtml', folder: 'OEBPF/content', compress: true, content: 'raw-content-to-write',\n}];\n```\n\nThese are the *complete* files for the EPUB and consist of *more* than your original sections that you added.\nThe `content` may be HTML, plain text, or byte arrays (for images). It is in a complete and final form and should be persisted exactly as is.\n\nWriting these `files` entries to a ZIP file (named as an `.epub`) gives an EPUB document.\nFor that EPUB to work you *must* (a) honour the `compress` flag and (b) add the `mimetype` entry *first*.\n\n#### Using in Non-Async Code\n\nNodepub is *asynchronous*, actionable using `async`/`await`.\nThe following is an example of how you might use the easy EPUB generation option from within *synchronous* code instead.\n\n``` javascript\n// Asynchronous version:\nawait epub.writeEPUB(folder, filenameWithoutExtention);\n\n// Synchronous equivalent:\n(async () => {\n  try {\n    await epub.writeEPUB(folder, filenameWithoutExtention);\n  } catch (e) {\n    console.log(e);\n  }\n})();\n```\n\n## Validating EPUBs\n\nPreviously files were validated by the IDPF online validator, but that page was taken down a while ago.\nAs an alternative, **Pagina** offer a cross-platform EPUB validation tool.\n\nIt's a desktop app and [they provide installation instructions here](https://pagina.gmbh/startseite/leistungen/publishing-softwareloesungen/epub-checker/).\n\nThe instructions are in German initially, but the option is there to switch to English.\nIn essence it reduces to installing OpenJDK then downloading and running their app.\n\nThe Pagina app verifies using *EPUBCheck* so it gives industry-standard results.\n\n## A Full Example\n\nIn the top folder (the one containing the `package.json` file) run the following:\n\n``` javascript\nnpm run example\n```\n\nThis runs in [the `example` folder](./example) using the code in [`example/example.js`](./example/example.js) to generate a final EPUB. It will also create a subfolder containing the raw files used to produce that EPUB (omitted from source control).\n\n## Breaking changes over v3\n\nTechnically there is no change in the API or the desired outputs.\nHowever there are a couple of reasons for the major version jump.\n\n- Switched the internal EPUB file generation from code generation to EJS templates\n  - The public API is unchanged and desired behaviour remains the same\n  - Version jumped regardless, as despite tests this retains a level of risk\n- Small bug fixes which may change your outputs, as in earlier versions:\n  - Empty lines were stripped *including* within pre/code blocks\n  - A custom HTML TOC grew with multiple renders of same document\n\nThe switch to EJS templating for the internals creates cleaner, clearer code which is also easier to maintain and to reason about.\n\n## Breaking changes over v2\n\n- In v2 the cover image was specified as a parameter when the document is first constructed\n  - In v3 that parameter is removed and becomes a `cover` metadata entry instead\n  - As a bonus, cover images should now work for `jpg` and `gif` as well as `png`\n- It now uses *async/await* and so requires newer versions of Node\n  - Public methods are therefore called slightly differently\n  - The actual content of generated EPUBs remains the same\n\n- [You can view the change log here.](./CHANGELOG.md)\n- [Developers of Nodepub itself can see some helpful information here.](./DEVELOPERS.md)\n","readmeFilename":"README.md"}