{"_id":"@abw/svg-icon-librarian","_rev":"8-7e5eba821d1a00e4acdb0cca47aff75b","name":"@abw/svg-icon-librarian","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"name":"@abw/svg-icon-librarian","version":"1.0.0","description":"Utility for creating a library of SVG icons.","type":"module","main":"dist/svg-icon-librarian.cjs","module":"dist/svg-icon-librarian.esm.js","exports":"./dist/svg-icon-librarian.esm.js","author":{"name":"Andy Wardley"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"scripts":{"build":"rollup -c","lint":"eslint 'src/**/*'"},"keywords":["SVG","Icon","FontAwesome","Librarian"],"dependencies":{"@abw/badger":"^1.0.12","@abw/badger-utils":"^1.0.16","@fortawesome/free-regular-svg-icons":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","eslint":"^8.35.0","rollup":"^3.18.0","rollup-plugin-copy":"^3.4.0"},"gitHead":"95532bf9abaac6b4d36fe463ceb2792dc273f274","homepage":"https://github.com/abw/svg-icon-librarian-js#readme","_id":"@abw/svg-icon-librarian@1.0.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ZewIoddnkV5cTndK6HRyEZ+Hee8lAVRtehEJsCIlWxz9JjiZJ3Sdyyp0eu2ih6koqbjw7BuQDyCx39//ljwR9Q==","shasum":"34c91071a6eb6c7b216c1fcdd032cb36d4a023b9","tarball":"https://registry.npmjs.org/@abw/svg-icon-librarian/-/svg-icon-librarian-1.0.0.tgz","fileCount":8,"unpackedSize":530586,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICHbkGWJfFzWtUSigdRFn5JsnOELazanNlyNoXsCYt30AiEAiYikML9kF7of15BslfptrK7TStFm8x8NuhWYI8SyTmw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAhOWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoI6BAAk2CLYK8zFhhrSwBGb1uEaHZoEPhykm+F2xrrG+4g7RxqPuzB\r\nDhaKfZkAt1ej4U512voN6HsGKIKu8KberoQI6ZmDeXb3d3OYm/zg9M7ZlTOv\r\nISkj47zzRZf3Um9qc1fLe1iItllD5DniQeI67SZ3SmLP2Qw4L5I6KOX50GI/\r\nhfwuoij+7PPT62QKXkpIZGmIhxWw5wQGcmh+I0gQSUKv1cVkL+B30ERHvh7r\r\nBlFa/KfhBinjkLAaT7HGw+wCCcLFd1mqi9RohxtObWrne9lAq6NdtAwnfXtb\r\nEYUGpIg5JjekqWVRp+sFftWo5Q1wX74zVyfBXJI4JRjISD1QXfaXXWQ7t0RK\r\n++t2JuZ4N+i/X9FWpXNR98bLoSR68J/YNFb7XLEZ1NEab1vHTTUn170PriBD\r\nG1yaip0cYmczl4YYYEHtqpxpvW1L2ZPqPueHTuSTW/DVzIsWUAjJ2PrW4DZ2\r\nxGxLi1mxHsQiUHBLG4YPZZzhc76lOZ01p6DsFF9uWqbBLz0us8E0N5ZlNAd1\r\nUtd9Hg++WzSQp5K9MxudTsO+5TRGrjOdlHJ47Z55xU2QRh4yHI326b9xbo55\r\nT6C76XpntYNPRzX16Ni7lflgn3qEuyjKTiAc/OBNjF42GH3OxvHoV9VWLSXE\r\noe0UUP5/oGX9Hiq2RQJJAWo5DJbVV+a2XKU=\r\n=928L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abw","email":"abw@wardley.org"},"directories":{},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svg-icon-librarian_1.0.0_1677857685852_0.6265046892210755"},"_hasShrinkwrap":false},"1.0.1":{"name":"@abw/svg-icon-librarian","version":"1.0.1","description":"Utility for creating a library of SVG icons.","type":"module","main":"dist/svg-icon-librarian.cjs","module":"dist/svg-icon-librarian.esm.js","exports":"./dist/svg-icon-librarian.esm.js","author":{"name":"Andy Wardley"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"scripts":{"build":"rollup -c","lint":"eslint 'src/**/*'"},"keywords":["SVG","FontAwesome","icon","librarian"],"dependencies":{"@abw/badger":"^1.0.12","@abw/badger-utils":"^1.0.16","@fortawesome/free-regular-svg-icons":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","eslint":"^8.35.0","rollup":"^3.18.0","rollup-plugin-copy":"^3.4.0"},"gitHead":"3a244048564c148a0e992c012343fbba499dd465","homepage":"https://github.com/abw/svg-icon-librarian-js#readme","_id":"@abw/svg-icon-librarian@1.0.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-xpLlEZzhY4W/sBvt8QqgyHY0eLSZ3Ofw4NO83PM7txiIjrajVvdLRJ6RmRC9PJfdn8LKFA/Yg4hUhxkJq+Mupg==","shasum":"a142d357031f9f4e71074c07da18cb95a13a1232","tarball":"https://registry.npmjs.org/@abw/svg-icon-librarian/-/svg-icon-librarian-1.0.1.tgz","fileCount":8,"unpackedSize":68342,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMgdD/QNr7cYvS0+OPboKh9KEG0dHJcGrCsAU8YuziAwIhAKgsM/m1xM6KVohVAjRS7JXyMbZFiacat7vWnJifztlz"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAif9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHsw/9GZtkbR/AuTELV3/P/v7ggv3WM9PYeZX7Hh2QOZOyL2YUgIEm\r\nWcKTjsCbvKeYsLx99RuzRHi3fb+XkZ54zVvVsTKDVr6KTDTVX3uxOSTVyCKp\r\nbedERaJ37xs81XnAL4eFL/kVFgfoM2ZYE7spORBlM/zl0x9ynjAtFuHDCICe\r\n0hERn1h2f0gwawjzrbEO12kFxvoDVqMTwTNDvg87GmnVbriaTQQSLzck+sCm\r\ndxEBglkknJj/FN+OSVyFENrUAYrHHKQwQ/8NO5I3v8b8Dd7HcEMACXfzNr7g\r\ndY/nqv2qGaC22c8bNqRvhmz6xCLP4YAoLwu5uh+mCdup2/9B7gUBLMVdr4Pw\r\nVGTKIL71g9geyNT/TQtcuDnGMn70SWWtZucMqTN4x6k5qEP6bjBjlgivyhi0\r\niROpIMfNmRqkxT1Cj22BSbJsE/1qnGo4Xtf4NG+UHA/wRn/+Vc3269Q20y8o\r\nIubg45Ln1Ci7VMOmMZrWEBEkthSONQxigxieEKB7iyslrpexn3gJI5/sQsTN\r\n9CSAhmZSAOWN/FeVbifG17ykri1tx9ty72oPouHy1uUMrrhRch0ADrhlKXRE\r\n5NcesDcJhv36Geg3uu3lX2s4Z8GBU2MF2FiZp8ysZ3bbEQ5WMPVnb3cLyIv+\r\n3o0E9aFIqPiiiDlWjDYGlLc2q3wur0h0Y2U=\r\n=8xe2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abw","email":"abw@wardley.org"},"directories":{},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svg-icon-librarian_1.0.1_1677862909645_0.3107646570582332"},"_hasShrinkwrap":false},"1.0.2":{"name":"@abw/svg-icon-librarian","version":"1.0.2","description":"Utility for creating a library of SVG icons.","type":"module","main":"dist/svg-icon-librarian.cjs","module":"dist/svg-icon-librarian.esm.js","exports":"./dist/svg-icon-librarian.esm.js","author":{"name":"Andy Wardley"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"keywords":["SVG","FontAwesome","icon","librarian"],"dependencies":{"@abw/badger":"^1.0.12","@abw/badger-utils":"^1.0.16","@fortawesome/free-regular-svg-icons":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","eslint":"^8.35.0","rollup":"^3.18.0","rollup-plugin-copy":"^3.4.0"},"scripts":{"build":"rollup -c","lint":"eslint 'src/**/*'"},"homepage":"https://github.com/abw/svg-icon-librarian-js#readme","_id":"@abw/svg-icon-librarian@1.0.2","_integrity":"sha512-zyawrMniGI9PlV4lZa0Q4dYKC/zikkrJ230MRzl4ZayKVJaRmkTzzMb/SObkFeWhAzog/XVexAGwmEdsUzd5sQ==","_resolved":"/private/var/folders/jw/y_b__hgj1n39hh2qgp9s8dnc0000gn/T/4a3a0940c27267f72094b71ecd9e823e/abw-svg-icon-librarian-1.0.2.tgz","_from":"file:abw-svg-icon-librarian-1.0.2.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-zyawrMniGI9PlV4lZa0Q4dYKC/zikkrJ230MRzl4ZayKVJaRmkTzzMb/SObkFeWhAzog/XVexAGwmEdsUzd5sQ==","shasum":"f27f2d70b21452baa21ea6055e097c71ca3e00de","tarball":"https://registry.npmjs.org/@abw/svg-icon-librarian/-/svg-icon-librarian-1.0.2.tgz","fileCount":8,"unpackedSize":68411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFFbzFcnL9LfR7vGNs2Cucc+buEYJ5U3RxptxPcvq/1gIgUquLcitvABASYI+GDln6DiYidYeEOUJaGYESVfi8EXo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAjPuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5/g/8CpyauXW2SESlELowVHvreqBopRWx+VhX/wbioMAr4lHZonm4\r\npznXfi/GcB+lplTslavFZ35Qez5nGNqG7fZHDJMA0MaQbmfe+RnBpRwQN0k5\r\nYsv+0kjyxRcKaWiMPhK6h1b+2YnIMccSNN4BhIGCsL3Xlp3ji+QU2pY1gSg3\r\njP01LxH44Crqm/spKdoxxNjIodk8KpxUnUh5Xd5z3I0HEBzod849Lyj/9/aA\r\nS9m7msgEiTxE38NSLQdV+ww5UAjUnWsvDuoPyEIVOGkk65E/ChFxHE949zR3\r\nE//w88T0TJMhjjUfqLjHoVP/xeVh3DdmBe4tbLZs2EDzn3KZ9IVaNbbp6FBD\r\nBg4ktltbF225NXZWxqotiQCg9QjFp/poqC9+Wax5sUCQgiUlFFZUuilbQo+d\r\ntihLYLfWUgrv/riXO4Run51gRbFNX31hNJRCy+vxpL3AelJE0aq/6vZ0aVXv\r\nhv3HhnvM5Wlgv9GdYS1zWbZM/ILn6H4THylV/UfFTKP7ANZRtUWvSHdED0PB\r\n7Qt4iAz9xqDUoNCOifVxjGrJRJfs0g6ae1xLv2ZFPaBAY1ae6RYi9O7y4rq0\r\nfsv0+t67bo2xpsTUpqo9CptA9mSpib6sDTlSx/MgfhkB8el3+lTiukh0hrBr\r\n4yD6OLNxCk8PbQiXfPJ6FWJsleXvWiUGNcg=\r\n=l5BN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abw","email":"abw@wardley.org"},"directories":{},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svg-icon-librarian_1.0.2_1677865966575_0.7979518401157235"},"_hasShrinkwrap":false},"1.0.3":{"name":"@abw/svg-icon-librarian","version":"1.0.3","description":"Utility for creating a library of SVG icons.","type":"module","main":"dist/svg-icon-librarian.cjs","module":"dist/svg-icon-librarian.esm.js","exports":"./dist/svg-icon-librarian.esm.js","author":{"name":"Andy Wardley"},"license":"MIT","bin":{"svg-icon-librarian":"bin/svg-icon-librarian.js"},"repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"keywords":["SVG","FontAwesome","icon","librarian"],"dependencies":{"@abw/badger":"^1.0.12","@abw/badger-filesystem":"^1.0.1","@abw/badger-utils":"^1.0.16","@fortawesome/free-brands-svg-icons":"^6.3.0","@fortawesome/free-regular-svg-icons":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","eslint":"^8.35.0","rollup":"^3.18.0","rollup-plugin-copy":"^3.4.0"},"scripts":{"build":"rollup -c","lint":"eslint 'lib/**/*'"},"homepage":"https://github.com/abw/svg-icon-librarian-js#readme","_id":"@abw/svg-icon-librarian@1.0.3","_integrity":"sha512-kK3HdfsEt4hAtacblxxeWJcopOQwywjbLdv956wPcp6VlksZt6F4YwPjI/Dj/G3vXy4grMMi2AAYPmgNn5zlmQ==","_resolved":"/private/var/folders/jw/y_b__hgj1n39hh2qgp9s8dnc0000gn/T/7b41b1c85d2fbb8dee09343c8f5753f0/abw-svg-icon-librarian-1.0.3.tgz","_from":"file:abw-svg-icon-librarian-1.0.3.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-kK3HdfsEt4hAtacblxxeWJcopOQwywjbLdv956wPcp6VlksZt6F4YwPjI/Dj/G3vXy4grMMi2AAYPmgNn5zlmQ==","shasum":"b89da31b322929d23f1de16d13e50b0b3abf523e","tarball":"https://registry.npmjs.org/@abw/svg-icon-librarian/-/svg-icon-librarian-1.0.3.tgz","fileCount":9,"unpackedSize":101534,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEhIY8gdtSseqTLaGVWrnp7iyY5rlfDcrg7IV1KEnQtIAiAJ9OLKg1zXY593LuUHAq3vWW03PUpQVDLCWY7IgXBNTg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkA4xLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKuxAAgMvf9RMO5/8i+GwUIXmBMvHD2xaAe89e/b+Rv+uxwGHWRwnN\r\nFUJs8A0RPPCL8P2acZuHoMBkInaj+6EzYoz6hO/PlZcD5waQzPuFNmgZgN6T\r\nlTzzj0YHocCPGKBXP2VnYBATO9CdVacRcl/9pu/9B1OhoQ2aotHJkQuw8sbx\r\ngzvaqBgn3w2BC/azSH16JR3XpNc+C0HrfFU66DWRgqM0tl1IJxrp332mFQz1\r\nwQDcVBmv2y3vqf/FjLgcVGcSjMgtik4qRIsWJyCbIc3Z4zgUwDcW31zWEumL\r\nO9reYpmvLLxCLbdOtlLgRrnNv+Zu0nJELe2lgYmF8XLXIBtCp2YFpoh3AbkW\r\nAa+KP96lyK+igZ7AiD4rj4l0zFAomJzABvtgwCXadqCguahcOI0nZ3HQy2U9\r\n/oW/TSKqUmEQ5ravRcDz0ixL/CczzRYTlJVTyG6NwaSokvcvTnSa0FMH7qvq\r\nUiMyU2xJs5PcidMnppGNnlt4TnGgrvWGUvmK6JVOhe1QE4xqLgE5mHqjbohg\r\nkwJE0adrwbOChSTLpLhCPXqxlwuSAExTg2wERC1XzMiUVro3IDFm3svekxuP\r\nX7HJ8irLlaDCd6mgdqPyPuC26bO00KA4ebwTcsgrDRM0B31gCmqfqB2mmttR\r\nYE0nbcDueDSoI7W3EyOBBYlTRBYlzhM4JBs=\r\n=6Wdw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abw","email":"abw@wardley.org"},"directories":{},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svg-icon-librarian_1.0.3_1677954122984_0.7653062341965817"},"_hasShrinkwrap":false},"1.0.4":{"name":"@abw/svg-icon-librarian","version":"1.0.4","description":"Utility for creating a library of SVG icons.","type":"module","main":"dist/svg-icon-librarian.cjs","module":"dist/svg-icon-librarian.esm.js","exports":"./dist/svg-icon-librarian.esm.js","author":{"name":"Andy Wardley"},"license":"MIT","bin":{"svg-icon-librarian":"dist/bin/svg-icon-librarian.js"},"repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"keywords":["SVG","FontAwesome","icon","librarian"],"dependencies":{"@abw/badger":"^1.0.12","@abw/badger-filesystem":"^1.0.1","@abw/badger-utils":"^1.0.16","@fortawesome/free-brands-svg-icons":"^6.3.0","@fortawesome/free-regular-svg-icons":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","eslint":"^8.35.0","rollup":"^3.18.0","rollup-plugin-copy":"^3.4.0"},"scripts":{"build":"rollup -c","lint":"eslint 'lib/**/*'"},"homepage":"https://github.com/abw/svg-icon-librarian-js#readme","_id":"@abw/svg-icon-librarian@1.0.4","_integrity":"sha512-syouAqj1tIrewQWlS/XRebmhrXs24cIkk+04I+g7TrKzGLiS0hjrvWf0FbysQvW7RxNGDFFx6zrzcl15oIek1w==","_resolved":"/private/var/folders/jw/y_b__hgj1n39hh2qgp9s8dnc0000gn/T/f713643ccbecb25e57d65df3731c3bbf/abw-svg-icon-librarian-1.0.4.tgz","_from":"file:abw-svg-icon-librarian-1.0.4.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-syouAqj1tIrewQWlS/XRebmhrXs24cIkk+04I+g7TrKzGLiS0hjrvWf0FbysQvW7RxNGDFFx6zrzcl15oIek1w==","shasum":"39691bed71dc3ddbbe79aefcf1cad33cbc4c247e","tarball":"https://registry.npmjs.org/@abw/svg-icon-librarian/-/svg-icon-librarian-1.0.4.tgz","fileCount":8,"unpackedSize":101414,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBUuVT8PmKS7SXio5+SItOcleTRimcnWxkUMgaGmU6yYAiEAnhZMlylZQe0ektRsuVlsLzPdoSJWA07Hm747SfKJY40="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkA45JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmogvg//VwbpM7yIkOoXKdKyjovshy0W5pFJiuB5Pq7QDIztywqbyqX3\r\nIKjLinshv3YUAILbnQRkJaQEr5yCOrTVZzUKlFJ7n3Ks+Dq1nmXgr1bPsMze\r\nUn5AEyc4UKw0ZZcKcZc47jeUtxEImd4ecUiYUeiQVcTZzHV3Wj8ZHfnRg7qo\r\n2cC0Kr2ifazv8nWZoD4+RHMVeHNjGDoHdDVaAZDCqVUEAJR+VvjBVE9MlnPK\r\nnMrmuFLL5yNLeXknyMZ2VObHmF5gLeJUdmnWabds5DiKgWasDaoAMr/5lZ93\r\nxGXUGx9fcGbb/6+JOoB1iF5Z3w0mZ0+OYkT9Yt9QRP7mUqZAts/8UqRk4zyk\r\nCBCWzeNF3Aw1M7GbtofXTmlfJGf8H4cbnswo3oNOg1Rf0waJ3G28p5au9I8q\r\nRVL7PAHysTxIjrSX1lF1FjPIl3+7ilkgybI5xZJe7seqNlbmjrQXAahmJoH7\r\nQBOd67sIfB0F0SmY/euf0/kl/g1YUBrqkUwgQmOfenO2WDdmKxQlueXI82Wu\r\ndYMi4gcbOZJYNqZqeOt2Tt1gqOsCLbB+uuNHuDpseYPqNwKSjJMYAg4sYiVW\r\nOQPek6YfqQC6+qqWVA+cukfCjh9zoRbK6FYy5cjC7/Gk/TbUdEYt/E9Ec12R\r\nI7s51NsLAlF9hce/cYywJi6rYqCA28PWKmw=\r\n=FoHU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abw","email":"abw@wardley.org"},"directories":{},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svg-icon-librarian_1.0.4_1677954633361_0.5918310017463533"},"_hasShrinkwrap":false},"1.0.5":{"name":"@abw/svg-icon-librarian","version":"1.0.5","description":"Utility for creating a library of SVG icons.","type":"module","main":"dist/svg-icon-librarian.cjs","module":"dist/svg-icon-librarian.esm.js","exports":"./dist/svg-icon-librarian.esm.js","author":{"name":"Andy Wardley"},"license":"MIT","bin":{"svg-icon-librarian":"dist/bin/svg-icon-librarian.js"},"repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"keywords":["SVG","FontAwesome","icon","librarian"],"dependencies":{"@abw/badger":"^1.0.12","@abw/badger-filesystem":"^1.0.1","@abw/badger-utils":"^1.0.16","@fortawesome/free-brands-svg-icons":"^6.3.0","@fortawesome/free-regular-svg-icons":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","eslint":"^8.35.0","rollup":"^3.18.0","rollup-plugin-copy":"^3.4.0"},"scripts":{"build":"rollup -c","lint":"eslint 'lib/**/*'"},"homepage":"https://github.com/abw/svg-icon-librarian-js#readme","_id":"@abw/svg-icon-librarian@1.0.5","_integrity":"sha512-im8F4yrIRDcHxtxtWTjTWi2C3eettA/bVC3lpq0KuRznNCCZj1kYsRnLVeQkXjdDqSndyCMyIxfYWLxWOYIL/g==","_resolved":"/private/var/folders/jw/y_b__hgj1n39hh2qgp9s8dnc0000gn/T/1367e3936075c5a73737ee3f4de69a87/abw-svg-icon-librarian-1.0.5.tgz","_from":"file:abw-svg-icon-librarian-1.0.5.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-im8F4yrIRDcHxtxtWTjTWi2C3eettA/bVC3lpq0KuRznNCCZj1kYsRnLVeQkXjdDqSndyCMyIxfYWLxWOYIL/g==","shasum":"6f78a13cac6a2aa3e5c5b5013d6ceb8df2f127ca","tarball":"https://registry.npmjs.org/@abw/svg-icon-librarian/-/svg-icon-librarian-1.0.5.tgz","fileCount":8,"unpackedSize":112454,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrL6SyQe/W50WKv6cRKI6/G/BF5x3cuTFCZhWVA8dqxAIhAN73PtYCM9PspwNwJ9cKJ3ZNy0CZjkKLoCXqPmytuAtC"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBGnHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoA2Q//ZgNVR9q1+pqkMYVYwKSL19uWBhDmVb/2OIQMmAxT0i2o+h6S\r\nBKXg3sSpu2WapcvTiSLp/R7n00I5NvwQeONW0BjSjag+ViJVFK4w9StTq0s6\r\nXK5FPbQgmW901ZCQF6zXA/lRd39DGGWYXCj/hJZuookqetFyAUUsqXskt6I2\r\n2hddQYu35rWQ3UkY86cdjMvKZM8HZX/BG9CncfCSDdELfuuzosjEY0nA9Y5I\r\n/JBB+i2dy9B9UUoojA6lPjY+bKmG7As1Zf2TA+OAkZr1z2+Vy0WXEONegbXd\r\nZI2rQ1Kz780k3ptlIOCCtz69GMi0PYz2CDM6PoVhbWXXQq0W0dvkD0R+cDTT\r\nXb0kAZyiALTYv6fLo6mWzI7me9QiO7gzXbFB6+wW1sZui98iBRdPQLDSzz1g\r\nb/JNBgmR1D1hojaCE+uENA/kc4IUisV5GAGcYhWtDIp4ecm//euUjn4plhVX\r\nuwoBRjCGwsFiHp8lDmi+QL8GlogVIjZlKQubrbFD/pD9WWg2rnJY/yLtwkJX\r\n7GZjCQ3NYTzx2fVvA3VT8fqaDyfKeoPtIhxcL2I1tOTTuHg7VoNxnC6wHW81\r\nZ8ahnRaSHuuV0FToVSZvZgLGPR6z8yGIquz+zidrOJCWTZ4c+YJGhlpnol3+\r\n/AAg7q3856TW0482pmRPpCliD3QhGs3SlGI=\r\n=5k9m\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abw","email":"abw@wardley.org"},"directories":{},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svg-icon-librarian_1.0.5_1678010823423_0.7029567875876805"},"_hasShrinkwrap":false},"1.0.7":{"name":"@abw/svg-icon-librarian","version":"1.0.7","description":"Utility for creating a library of SVG icons.","type":"module","main":"dist/svg-icon-librarian.cjs","module":"dist/svg-icon-librarian.esm.js","exports":"./dist/svg-icon-librarian.esm.js","author":{"name":"Andy Wardley"},"license":"MIT","bin":{"svg-icon-librarian":"dist/bin/svg-icon-librarian.js"},"repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"keywords":["SVG","FontAwesome","icon","librarian"],"dependencies":{"@abw/badger":"^1.1.6","@abw/badger-filesystem":"^1.0.2","@abw/badger-utils":"^1.0.17","@fortawesome/free-brands-svg-icons":"^6.3.0","@fortawesome/free-regular-svg-icons":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","ava":"^5.2.0","eslint":"^8.35.0","rollup":"^3.18.0","rollup-plugin-copy":"^3.4.0"},"scripts":{"build":"rollup -c","lint":"eslint 'lib/**/*'","test":"ava","pretest":"pnpm run build"},"homepage":"https://github.com/abw/svg-icon-librarian-js#readme","_id":"@abw/svg-icon-librarian@1.0.7","_integrity":"sha512-ng1AP7WFSXeGButVsqVzyZTZfsjdDccty8Reuaav2ZtnCfeYcsCJOUl/m2+vYlNo2Kbs/UFfB25KcnJnPxEtjg==","_resolved":"/private/var/folders/jw/y_b__hgj1n39hh2qgp9s8dnc0000gn/T/e2a60474aaa92182b2ad7f843f275762/abw-svg-icon-librarian-1.0.7.tgz","_from":"file:abw-svg-icon-librarian-1.0.7.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ng1AP7WFSXeGButVsqVzyZTZfsjdDccty8Reuaav2ZtnCfeYcsCJOUl/m2+vYlNo2Kbs/UFfB25KcnJnPxEtjg==","shasum":"e3f825e7951d8e1c28095a9cb1476e184dbe2c25","tarball":"https://registry.npmjs.org/@abw/svg-icon-librarian/-/svg-icon-librarian-1.0.7.tgz","fileCount":8,"unpackedSize":123906,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEDcMyuHPqcHvqz/va2b25xhokI+KcvemcHiWNp8BBI8AiEAzP40IDgFAqNqQo3qzpojyJsSWAiSSSULKPbiviZaat8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC12JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrd2A/8DCrHuqq2+sLIt0bsdYnEBNCpVpu0zWJCzf0Hf9apikvnyE30\r\n8m4onztQj5NnnYXmrH/hK8ywkkHaLm6yMooyAr7TqQPE4SOM6bEYaC2vAsS1\r\nuO1h5o8TnNxSbR9MFxRGdVmxCl7eV8aPUcTQCEjt8WJy4fkXqBThlevetYV/\r\nP3vOBkZI20eHyVuiD1FPh3XG4A4Y/aTLdlF9GepeXayFGZQRGT9wq+Ob/XkP\r\n0vov8hezcnj2hhU/Um8k5WP4tc1btQ04hDMJtEu2PvCBviwqx4UXKaTrRKgC\r\nC5IQl8xLh2HmXpUICk4sPROtBAS041fG3WKCCOv439ViJDL172/mbAgXqdk2\r\nR7lBGAVJSr6eU1fPsrbi+/ZbMyrwYnJMjpoTQlwT3lrFedNdoWKB5kFpr0QU\r\nSUVNLWJ0RBaBQDymbI24PSpLHlyFiur2VYjSKebjU6zuQwMRJYBN386DUIMK\r\nYZceps/HxeYbq5Etf3KtMWcM7m/QoYifEmEzrl2IIDU6/xN/mLftLmLtoKrr\r\nN/6BXJYma93zRtegBZWVSp2uN9EBNns1pb8n9TXFnypAOMUDO16s9XtpnQAU\r\nqDcnAjZsYaKPo6f7TkcROh3F5hYBKJ4crriHQY9L/LBlhdKYo6ccYej5SzZ2\r\nBAW/VoMy6ZGPUz+im97sAgCGExKxf16ZEdU=\r\n=peoT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abw","email":"abw@wardley.org"},"directories":{},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svg-icon-librarian_1.0.7_1678466441000_0.6552178731077034"},"_hasShrinkwrap":false},"1.0.8":{"name":"@abw/svg-icon-librarian","version":"1.0.8","description":"Utility for creating a library of SVG icons.","type":"module","main":"dist/svg-icon-librarian.cjs","module":"dist/svg-icon-librarian.esm.js","exports":"./dist/svg-icon-librarian.esm.js","author":{"name":"Andy Wardley"},"license":"MIT","bin":{"svg-icon-librarian":"dist/bin/svg-icon-librarian.js"},"repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"keywords":["SVG","FontAwesome","icon","librarian"],"dependencies":{"@abw/badger":"^1.1.10","@abw/badger-filesystem":"^1.0.2","@abw/badger-utils":"^1.0.17","@fortawesome/free-brands-svg-icons":"^6.3.0","@fortawesome/free-regular-svg-icons":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","ava":"^5.2.0","eslint":"^8.35.0","rollup":"^3.18.0","rollup-plugin-copy":"^3.4.0"},"scripts":{"build":"rollup -c","lint":"eslint 'lib/**/*'","test":"ava","pretest":"pnpm run build"},"homepage":"https://github.com/abw/svg-icon-librarian-js#readme","_id":"@abw/svg-icon-librarian@1.0.8","_integrity":"sha512-8yuyRtGH+bTgOubfQxf48TZ4lfVM1dSwsBXOFgIisOD/E8oREcUgCUm1GC86EI+4Oe32EuMRyyEAM6lUZFFX3g==","_resolved":"/private/var/folders/jw/y_b__hgj1n39hh2qgp9s8dnc0000gn/T/91346dcf941a17dd9f20e06712efbf4f/abw-svg-icon-librarian-1.0.8.tgz","_from":"file:abw-svg-icon-librarian-1.0.8.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-8yuyRtGH+bTgOubfQxf48TZ4lfVM1dSwsBXOFgIisOD/E8oREcUgCUm1GC86EI+4Oe32EuMRyyEAM6lUZFFX3g==","shasum":"374b0bfbf2e7f6a5a6c6dcfacd03cc53a32bc6a2","tarball":"https://registry.npmjs.org/@abw/svg-icon-librarian/-/svg-icon-librarian-1.0.8.tgz","fileCount":8,"unpackedSize":123793,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfx+Tt3u3zlEjqC7ajRg0Ej39wfBkVtebTTCZ6IIDErAIgJGAvtZ11FxJWs/nENZm9NwTxnxflaP2j9I9NIeD1x4s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDD0NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8DQ/7BAbQSEkmDJU7msMF8/XaFrfKGiqesi2UrEvbQHpqMIbq5pKA\r\n8ceoaOB+kVQI+YdlMKimODpV6w1miB+6bl0E3jCkw2hKimPOaKkGnr3WsvA8\r\ngUlWscMaj1db3nhLFfjD+vJ34DrwF72SAQfqsJpKp8BRJbybcOwWuO+Hse5p\r\n5Hob1m43TPwb9SP+Dlcg8KtHQzA9kXErmuu6ALJDM87GmVVRIgQNAD+hdwKC\r\nzQayMZyQ2fIqJW+EM8JG6EsUvG+AY5wTWjXHmUShnrum3Jm707fxdOb0c0zI\r\nAmiyIeue+mnS6OKRofsufGVNd4xYI9/3edxudw18oF4FZSor0vEbdA7iY2RQ\r\nljalO8mo/kuXd+YIW6PN0yV5BTmHGKYlEDQ7L28oaPoMlA/lQPMVY2dmtEr1\r\nbZaLXUjgQce8DYb4LQelyjVCZrTLKz3Swp7TAmRw9IqKT7S3kxj2rzoMtqa0\r\nDa54FlLyKeLyTX1dD2Xf34vUSqP2KnTGWTl+X66iDLBSBfpmHMnUxGWOq+Qb\r\n408fqPma+lj9mfxYGf3H/Vewp5vS7eLRKlMUKuDUD/2mSMQP2flDcXQ5pjaP\r\nhTMYEKrwvQlsex5DyW5kGRiVmrM2rSGt/n+R2HPOOQ8w1jwsK8d5M8RBlhyp\r\nWxCtCKs9yg1g4TwyAnfmEI/PHsoOxvy/8m8=\r\n=WxDO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abw","email":"abw@wardley.org"},"directories":{},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svg-icon-librarian_1.0.8_1678523661358_0.033812790629731415"},"_hasShrinkwrap":false},"1.0.9":{"name":"@abw/svg-icon-librarian","version":"1.0.9","description":"Utility for creating a library of SVG icons.","type":"module","main":"dist/svg-icon-librarian.cjs","module":"dist/svg-icon-librarian.esm.js","exports":"./dist/svg-icon-librarian.esm.js","author":{"name":"Andy Wardley"},"license":"MIT","bin":{"svg-icon-librarian":"dist/bin/svg-icon-librarian.js"},"repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"keywords":["SVG","FontAwesome","icon","librarian"],"dependencies":{"@abw/badger":"^1.1.10","@abw/badger-filesystem":"^1.0.2","@abw/badger-utils":"^1.0.17","@fortawesome/free-brands-svg-icons":"^6.3.0","@fortawesome/free-regular-svg-icons":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","ava":"^5.2.0","eslint":"^8.35.0","rollup":"^3.18.0","rollup-plugin-copy":"^3.4.0"},"scripts":{"build":"rollup -c","lint":"eslint 'lib/**/*'","test":"ava","pretest":"pnpm run build"},"homepage":"https://github.com/abw/svg-icon-librarian-js#readme","_id":"@abw/svg-icon-librarian@1.0.9","_integrity":"sha512-mUMvuEbD0EncLQgatgB8DUGKuTp3iPF3WHTdqzGyFC6UlH84H8k/p0jbqO8VzGtdZQxyZI3s59eY+s0KynJkKA==","_resolved":"/private/var/folders/jw/y_b__hgj1n39hh2qgp9s8dnc0000gn/T/3fb81bb5998e9333f15fa2c5c60f0f75/abw-svg-icon-librarian-1.0.9.tgz","_from":"file:abw-svg-icon-librarian-1.0.9.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-mUMvuEbD0EncLQgatgB8DUGKuTp3iPF3WHTdqzGyFC6UlH84H8k/p0jbqO8VzGtdZQxyZI3s59eY+s0KynJkKA==","shasum":"f713c8984335620d7806d3decdb9a5616dd2bd86","tarball":"https://registry.npmjs.org/@abw/svg-icon-librarian/-/svg-icon-librarian-1.0.9.tgz","fileCount":8,"unpackedSize":126245,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCS0I5Dz9GuI0X+WGZHP73lGBipo5fRcCNEhRjEqIE14wIhAKGQIYJH+m9qwkI5DjLQYIYVFi1SHzsG8bXbdNQbl2Tk"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDEo5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2Cg/+M3wCIlSrXxPhGGFco28N4Vm0oRFodT7uQWbERhKpQIziDRHu\r\nOhyMcMG0K8xocr6itDwE+rQDzrkaJRWHGiZu3GKyV2dEU/rVo5bCXMmU5ixf\r\n3cY1JHDKc85kMtEpSdqaIczcMseLWUShXN1Q7wiQLdtFKtLzhCUsEhm9KowA\r\nvRBqQpf2jJzFlMNxTYtxExFLaQJAFtOYXjKs2tRhcjQrB3T7JNgvlzy5xUCr\r\n23PPcVngs8U7a61jd66w9oqjk9ZpXKTNm+blG+oEzuHaul172HCc7cXA5dvs\r\ndqZz9u89fxbS2B2rSXK6QsQLDmf8lhL7uvmaBIPqar/oaRXaVHlz1e6+dJ7y\r\nC4ktlNwrBwfr5+XWzgLYCJFdP4A8HqhticPO9cK+GqS9rnW8h5SF9DlIslw6\r\nbYoSzJbgQiyc0tzcjy8xeey6PrmUGjkQ9XnuAvAbGpcdEGWopIIRE9SZam7n\r\n9qau7zjyViOEAONq5dr3Xpm9L8Dn+92cvElP61wDm2BgqiQtcTHO0AuNmZr0\r\nOj+4zWrPbb8hKDkmb/rBK2k1qSdbqZoCUvux/8Va62rVtMgL6+gUgk/744tv\r\nBeclaHnzyErKzlCsEX3hlfA0oyJlqWnYy8E7T2lBBUafZ8uQX6UE0SpcG3p2\r\nR47Yd62rDJreNoQIfgH1flQR8Sw+H2myipc=\r\n=R7hb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abw","email":"abw@wardley.org"},"directories":{},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svg-icon-librarian_1.0.9_1678527032820_0.9381980863045336"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-03T15:34:45.792Z","1.0.0":"2023-03-03T15:34:46.206Z","modified":"2023-03-11T09:30:33.062Z","1.0.1":"2023-03-03T17:01:49.758Z","1.0.2":"2023-03-03T17:52:46.755Z","1.0.3":"2023-03-04T18:22:03.242Z","1.0.4":"2023-03-04T18:30:33.505Z","1.0.5":"2023-03-05T10:07:03.589Z","1.0.7":"2023-03-10T16:40:41.124Z","1.0.8":"2023-03-11T08:34:21.546Z","1.0.9":"2023-03-11T09:30:32.977Z"},"maintainers":[{"name":"abw","email":"abw@wardley.org"}],"description":"Utility for creating a library of SVG icons.","homepage":"https://github.com/abw/svg-icon-librarian-js#readme","keywords":["SVG","FontAwesome","icon","librarian"],"repository":{"type":"git","url":"git+https://github.com/abw/svg-icon-librarian-js.git"},"author":{"name":"Andy Wardley"},"bugs":{"url":"https://github.com/abw/svg-icon-librarian-js/issues"},"license":"MIT","readme":"# SVG Icon Librarian\n\nThis module can be used to create a library of SVG icons.  The library is a\nJavascript file which can be imported into any framework or vanilla Javascript\ncode base.  It contains the raw data extracted from source icons that you can\nthen use to display in `svg` elements.\n\nIt was originally designed as a lightweight replacement for the\n[@fortawesome/fontawesome-svg-core](https://www.npmjs.com/package/@fortawesome/fontawesome-svg-core)\nmodule.  FontAwesome is awesome, and this isn't in any way suggesting that\nit isn't as awesome as it ever was.  But I had some problems getting it to\nwork with Static Site Generation (SSG) in a Next.js project and that led me\ndown the path to writing this module.\n\nThe librarian can extract icons from the free FontAwesome icon sets (`solid`,\n`regular` and `brands`) so that you can build your own icon library that only\ncontains the icons that you need.\n\nIt also allows you to define your own custom SVG icons which are added into\nthe library.  You can add SVG files to a directory, run the\n[svg-icon-librarian.js](bin/svg-icon-librarian.js)\nscript, and it will take care of the rest.\n\nIt supports icons with multiple paths, style attributes and opacity, allowing\nyou to include duotone icons and other icons with transparent elements or\ncomplex intersecting paths.\n\n## Getting Started\n\nYou can add the module to your own Javascript project to automate the process\nof building your own custom icon library.\n\nAdd the module as a `devDependency` using your favourite package manager.\n\n### npm\n```bash\nnpm add --save-dev @abw/svg-icon-librarian\n```\n\n### pnpm\n```bash\npnpm add --save-dev @abw/svg-icon-librarian\n```\n\n### yarn\n```bash\nyarn add --dev @abw/svg-icon-librarian\n```\n\nYou can then add a command to the `scripts` section of your `package.json`\nfile, something like this:\n\n```json\n  \"scripts\": {\n    \"icons\": \"svg-icon-librarian -f icons/config.yaml -c icons/custom -o lib/configicons.js -y\"\n  }\n```\n\nTo generate the icon libary (substitute `npm` for `yarn` or `pnpm` if that's\nwhat you're using)\n\n```bash\nnpm icons\n```\n\n## Try Out the Examples\n\nA good way to understand how it works is to try out the examples.  For that\nyou should clone the [github repository](https://github.com/abw/svg-icon-librarian-js):\n\n```bash\ngit clone https://github.com/abw/svg-icon-librarian-js.git\n```\n\nThen install the dependencies using your favourite package manager.\n\n```bash\nnpm install   # or yarn or pnpm\n```\n\nThe [examples](examples) directory contains a number of examples showing you\nhow the library can be used.\n\n## Building an Icon Library\n\nRun the [bin/svg-icon-librarian.js](bin/svg-icon-librarian.js) script to\nbuild your own SVG icon library.\n\n```bash\nbin/svg-icon-librarian.js \\\n  -f /path/to/your/icons-config-file.yaml \\\n  -c /path/to/your/own/svg/icon/files/custom \\\n  -o /path/to/output/lib/icons.js \\\n  -y\n```\n\nThe `-f` (or `--file`) option is used to specify a configuration file.  You\ncan use an absolute path as shown here or a path relative to your current\ndirectory.  The `-c` (or `--custom`) option allows you to specify a directory\ncontaining SVG icon files that you want to use as custom icons.  These will be\navailable to use as an icon set with the same name as the directory (`custom`\nin this example).  The `-o` (or `--output`) option is used to specify where\nyou want the generated icon library file to be written to.  Be warned that\nthis will overwrite any existing file.\n\nThe `-y` (or `--yes`) option telling the script to just get on and do it\nwithout prompting you to confirm any of the values.\n\nYou can run the script with the `-h` (or `--help`) option to see help on all\nthe commands.\n\n```bash\n$ bin/svg-icon-librarian.js -h\nUsage: svg-icon-librarian.js [options]\n\nGenerates a library of SVG icons.\n\nOptions:\n  -V, --version        output the version number\n  -y, --yes            Accept default answers\n  -v, --verbose        Verbose output\n  -q, --quiet          Quiet output\n  -f, --file <text>    Configuration file\n  -c, --custom <text>  Custom directory\n  -o, --output <text>  Output file\n  -h, --help           display help for command\n```\n\nInstead of using command line arguments you can just run the script and it\nwill prompt you to enter the configuration options.\n\n```bash\n$ ../bin/svg-icon-librarian.js\n✔ Where is the configuration file? … icons/config.yaml\n✔ Where is the directory of custom SVG icons? … icons/custom\n✔ Where should the output file be written? … lib/config/icons.js\n✓ Wrote icon library to lib/config/icons.js\n```\n\n## Configuration File Format\n\nYou'll need to define a configuration file to specify which icons you want to\ninclude in your library.  A typical configuration file is shown below.\n\nIt can be a `.yaml` or `.json` file. We're using YAML here so we can embed\nsome comments for readability.\n\n```yaml\nsets:\n  # icons to import from FontAwesome solid free set\n  solid:\n    - angle-left\n    - angle-right\n    - angle-down\n    - angle-up\n  # icons to import from FontAwesome regular free set\n  regular:\n    - circle\n    - circle-dot\n  # icons to import from FontAwesome brands free set\n  brands:\n    - github\n  # Import all custom icons\n  custom: '*'\n\n# define your own icon names mapped to any icons from the solid, regular,\n# brands or your custom icon sets\nicons:\n  ok:           solid:circle-check\n  frown:        regular:face-frown\n  square:       regular:square\n  ring:         regular:circle\n  badger2:      custom:badger-duo\n```\n\nThe `sets` section allows you to specify the names of the `solid`,\n`regular` and `brands` icons to be imported from the corresponding\nFontAwesome sets.  In this case they will be given the same icon name\nin your icon library as the source (e.g. `angle-left`, `angle-right`, etc).\n\n```yaml\nsets:\n  # icons to import from FontAwesome solid free set\n  solid:\n    - angle-left\n    - angle-right\n    - angle-down\n    - angle-up\n  # icons to import from FontAwesome regular free set\n  regular:\n    - circle\n    - circle-dot\n  # icons to import from FontAwesome brands free set\n  brands:\n    - github\n```\n\nIf you have specified a custom icon directory then the icons contained in\nthat directory will be available as an icon set of the same name as that\ndirectory.  If the directory for your custom icons is appropriately called\n`custom` then the icon set will be called `custom`.\n\nThe `custom` set (or whatever your directory is named) comprises all the\n`.svg` files that are read from the that directory.  The icons should be\nspecified without the `.svg` extension, e.g. the `badger-duo.svg` file has\nthe icon name `badger-duo`.  You can explicitly list out the `custom` icons\nthat you want to import.  Or if you want to import all the icons from the\n`custom` set, or indeed any other set, then specify `*` for the set.\n\n```yaml\nsets:\n  # ...etc...\n  # Import all custom icons\n  custom: '*'\n```\n\nSo if your custom icon directory is named `my-project` then the\nicon set containing those icons will be called `my-project` instead.\n\n```yaml\nsets:\n  # ...etc...\n  # Import all icons from the badgers directory\n  my-project: '*'\n```\n\nThe `icons` section allows you to define your own names for icons. You can\ncreate aliases for icons that you've already specified in one of the `sets`\nor you can include new icons.\n\n```yaml\n# define your own icon names mapped to any icons from the solid, regular,\n# brands or your custom icon sets\nicons:\n  ok:           solid:circle-check\n  frown:        regular:face-frown\n  square:       regular:square\n  ring:         regular:circle\n  badger2:      custom:badger-duo\n```\n\nIn this example, the generated library will contain an `ok` item sourced\nfrom the `circle-check` icon in the `solid` set, a `frown` item source from\n`face-frown` in the `regular` set and so on.\n\n## Writing Your Own Wrapper Code\n\nThe module exports a [commandLine()](lib/commandLine.js) function which\nprovides the implementation for  the\n[bin/svg-icon-librarian.js](bin/svg-icon-librarian.js)\nscript.  You can write your own Javascript script to call this if you like.\n\n```js\nimport { commandLine } from '@abw/svg-icon-libarian';\n\nasync function main() {\n  await commandLine();\n}\n\nmain();\n```\n\nHowever you probably don't want or need to deal with all the command line\noptions as your configuration file, custom icons and output directories are\nprobable fixed.\n\nIn that case you can use the [build()](lib/build.js) function to cut to the\nchase.\n\n```js\nimport { build } from '@abw/svg-icon-libarian';\n\nconst configFile = 'icons/config.yaml';\nconst customDir  = 'icons/custom';\nconst outputFile = 'lib/config/icons.js';\n\nbuild({ configFile, customDir, outputFile });\n```\n\nYou don't need to use a config file if you would rather just define the\nicons you want in that file.  In that case use the `selectIcons` option\ninstead of `configFile`.  The data format should be the same as for the\nconfiguration file.\n\n```js\nimport { build } from '@abw/svg-icon-librarian';\n\nconst customDir   = 'icons/custom';\nconst outputFile  = 'lib/config/icons.js';\nconst selectIcons = {\n  sets: {\n    solid: [\n      'angle-left', 'angle-right', 'angle-down', 'angle-up'\n    ],\n    regular: [\n      'circle', 'circle-dot',\n    ],\n    brands: [\n      'github'\n    ],\n    custom: '*'\n  },\n  icons: {\n    ok:      'solid:circle-check',\n    frown:   'regular:face-frown',\n    square:  'regular:square',\n    ring:    'regular:circle',\n    badger2: 'custom:badger-duo',\n  }\n};\nbuild({ iconSets, configFile, customDir, outputFile });\n```\n\nYou can also load up an existing icon set that you've already created and\ninclude it as an icon set in your new library as the `iconSets` option.\n\n```js\nimport { build } from '@abw/svg-icon-librarian';\nimport { iconSets } from './lib/another-icon-library.js'\n\nconst configFile = 'icons/config.yaml';\nconst customDir  = 'icons/custom';\nconst outputFile = 'lib/config/icons.js';\n\nbuild({ iconSets, configFile, customDir, outputFile });\n```\n\n## Generated Icon Library\n\nThe generated library (`example/lib/icons.js` in this example) contains a\nnamed export `iconSets` which contains the definitions of the icons in\ndifferent sets.\n\n```js\nexport const iconSets = {\n  \"solid\": {\n    \"angle-left\": {\n      \"width\": 256,\n      \"height\": 512,\n      \"path\": \"M9.4 233.4c-12.5 12.5-12.5 32.8 ...etc...\"\n    },\n    \"angle-right\": {\n      \"width\": 256,\n      \"height\": 512,\n      \"path\": \"M246.6 233.4c12.5 12.5 12.5 32.8 ...etc...\"\n    },\n    // ..etc...\n  }\n}\n```\n\nIt then defines the `icons` named export (which is also the `default export`)\nwhich maps your chosen icon names to those sources.\n\n```js\nexport const icons = {\n  \"angle-left\": iconSets[\"solid\"][\"angle-left\"],\n  \"angle-right\": iconSets[\"solid\"][\"angle-right\"],\n}\n```\n\nThe reason for this indirection is that it allows you to create multiple\naliases to the same icon definition.  It also makes it possible to build\nnew icons sets on top of existing ones.\n\nAll icons define the `width` and `height`.  This is taken from the `viewBox`\nin the original SVG file, or the `width` and `height` attributes if there\nisn't a `viewBox` attribute.\n\nFor simple icons (including all those from FontAwesome), the `path` will be\ndefined as a string of SVG path data.\n\n## Using the Icon Library\n\nYou can use the existing FontAwesome react component to render icons, but\nyou'll need to write a bit of wrapper code to convert the icon data format\nback into what it's expecting.\n\nSomething like this:\n\n```jsx\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport icons from '../path/to/your/icons.js'\n\nconst Icon = ({name, ...props}) => {\n  const icon = icons[name];\n  if (! icon) {\n    console.log(`Invalid icon name:${name}`);\n    return;\n  }\n  const faIcon = {\n    prefix: 'fas',\n    iconName: name,\n    icon: [\n      icon.width,\n      icon.height,\n      [ ],\n      '',\n      icon.path\n    ]\n  }\n  return <FontAwesomeIcon icon={faIcon} {...props}/>\n}\n```\n\n## Creating Your Own Icon Component\n\nYou can generate an `svg` element in a web page using the data defined in the\nlibary. You just need to create an `svg` element with a `path` element inside\nit.  For example, a *very simple* React component might look something like this:\n\n```jsx\nimport React from 'react'\nimport icons from '.../path/to/your/generated/icons.js'\n\nconst Icon = ({name, ...props}) => {\n  const icon = icons[name];\n  if (! icon) {\n    console.log(`Invalid icon name:${name}`);\n    return;\n  }\n  return (\n    <svg\n      className=\"svg-inline--fa\"\n      aria-hidden=\"true\" focusable=\"false\"\n      role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n      viewBox={`0 0 ${icon.width} ${icon.height}`}\n    >\n      <path d={icon.path} fill=\"currentColor\"/>\n    </svg>\n  )\n}\n\nexport default Icon\n```\n\nAnd you would use it like so:\n\n```jsx\nimport React from 'react'\nimport Icon from '.../path/to/the/above/Icon.jsx'\n\nconst YourComponent = () =>\n  <Icon name=\"badger\"/>\n\nexport default YourComponent;\n```\n\nYou'll need to include the FontAwesome CSS file in your web site, or add it\ninto your main stylesheet.  The CSS file for FontAwesome version 6.3.0 is\nincluded as [styles/fontAwesome.css](styles/fontAwesome.css)\nbut you may want to check their repository to see if there's a more recent\nversion: https://github.com/FortAwesome/Font-Awesome/blob/6.x/css/svg-with-js.css\n\nFor a more complete implementation which includes support for the `transform`\nproperty see the [Icon component](https://github.com/abw/badger-ui/blob/master/src/components/Icon/Icon.jsx)\nin [badger-ui](https://github.com/abw/badger-ui).\n\n## Multi Path and Styled Icons\n\nThe library supports icons that have multiple paths, style attributes (on\nboth the `svg` element and any `path` elements) and `opacity`.  This isn't the\ncase for FontAwesome icons (at least not those in the solid and regular sets)\nbut you might want to include your own custom icons that do.\n\nIf the `svg` element has a `style` attribute then it will be included in the\nicon definition in the library.\n\n```js\nexport const iconSets = {\n  \"custom\": {\n    \"icon-with-style\": {\n      \"width\": 256,\n      \"height\": 512,\n      \"style\": \"fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\",\n      \"path\": \"M9.4 233.4c-12.5...etc...\"\n    },\n  }\n  // ...etc...\n}\n```\n\nIf the `path` has a `style` or `opacity` attribute then the `path` will be an\nobject containing the `d` (path data) and `style` and/or `opacity` properties.\nThe `opacity` might also be defined as part of the `style` attribute, e.g.\n`fill-opacity: 0.15`.\n\n```js\nexport const iconSets = {\n  \"custom\": {\n    \"icon-with-stylish-path\": {\n      \"width\": 256,\n      \"height\": 512,\n      \"path\": {\n        \"d\": \"M9.4 233.4c-12.5...etc...\",\n        \"style\": \"fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\",\n        \"opacity\": \"0.5\",\n      }\n    },\n  }\n  // ...etc...\n}\n```\n\nIf the icon has multiple paths then the `paths` property will be defined as\nan array of paths.  Each path can either be a string containing the path\ndata, or an object as described above.\n\n```js\nexport const iconSets = {\n  \"custom\": {\n    \"icon-with-multiple-paths\": {\n      \"width\": 256,\n      \"height\": 512,\n      \"paths\": [\n        // path with data and style\n        {\n          \"d\": \"M9.4 233.4c-12.5...etc...\",\n          \"style\": \"fill-opacity:0.15;\"\n        },\n        // path that is just data\n        \"M101.675,0C102.276,0 102.873,0.004 103.479,0.011C149.73\",\n      ]\n    },\n  }\n  // ...etc...\n}\n```\n\nIf you're using icons like this then you'll need to code your display\ncomponents accordingly.  It should handle either a `path` or `paths`, and\neach `path` can be a string or an object.\n\nI suspect this will come back to bite me one day, but it seemed sensible to\ntry and optimise the size of the library as much as possible at the cost\nof making the display component slightly more complicated.\n\n\n## Author\n\nAndy Wardley https://github.com/abw\n","readmeFilename":"README.md"}