{"_id":"@aurorats/esmpack","_rev":"6-67c6cc4675e50da3a80422e823189c7c","name":"@aurorats/esmpack","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.4":{"name":"@aurorats/esmpack","version":"0.1.4","description":"esmpack, transform javascript files to es module that can be imported by browser.","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/aurorats/esmpack.git"},"license":"MIT","publishConfig":{"access":"public"},"type":"module","bin":{"esmpack":"bin/esmpack.js"},"scripts":{"clean":"rimraf ./{dist,buildInfo,bin/esmpack.js,bin/esmpack.d.ts}","build":"yarn clean && tsc -b -v","build:watch":"yarn clean && tsc -b -v -w","local:publish":"npm unpublish --tag dev --registry http://localhost:4873/ --force && npm publish --tag dev --registry http://localhost:4873/ --force"},"dependencies":{"glob":"^7.1.6"},"devDependencies":{"@types/glob":"^7.1.3","@types/node":"^14.10.1","typescript":"^4.0.2"},"keywords":["aurora","esmpack","esm","module","js"],"gitHead":"db80d7a5f8441901df6e4f813738b6efea08f7a8","bugs":{"url":"https://github.com/aurorats/esmpack/issues"},"homepage":"https://github.com/aurorats/esmpack#readme","_id":"@aurorats/esmpack@0.1.4","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-gLXJUgi5yeRc0QhG1uwV2/nnfESVD9C8b6XpBDQDBYdykx9xO6Erib3R9ktVxTw0bM3w7+LLnLPhxbUF+6Z9RA==","shasum":"4fb78bbafb139047cce5e1d53b9838385f2404f9","tarball":"https://registry.npmjs.org/@aurorats/esmpack/-/esmpack-0.1.4.tgz","fileCount":32,"unpackedSize":73000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbNsiCRA9TVsSAnZWagAA03IQAIFNyD1KrviE/gszlBBr\n2elhYxhuEfIkgHHRKSShBxgr+TgAee0oe7bDBkxuSzdDpo2yh1dHjTjbwtyn\naTmPk4+YbdRkccY/rrblm6x9Y0rsr6FZ4BRCAnSj/HeRCPVeOIkrfOiCrEX7\n01yPc/Eja1rQVhIV+8woN+fgMfp1h1RLVOlD8v4iS/PvolaX8lK309dRmoQb\nFdrAxzS0c2cQiaTOQuo+Ff1dt+WMPiQEV5pTXybOX7g8INezU9R92k/gz2Xj\nR1tDT5QbGoVuSN83otiDjNiVZ9nlAdFiC2pZ+HCSJpGPltoLEo/8TKVeXZGZ\nlJlAEAviVgjIJ4ZCaFJceJ//LIp6eZI4oDqlUCZypHb+HHl44b3PZwTiRSaC\n0sghCTC2heZXWarc7oFGMc5zwtTQg2RSr6/ZmSzIPSyye/BCmiO8LTTk8+DS\nt1rbPJKemNo5qehfhuWtDKkXcn6rTl3CnYJuZXFJ8v3FkFmJEwqgd2JC3Ajs\ncake+OZmc/xiKQCcnX8wi2f61FV1V+wDDwjPhVoDx77FJ5ruzLvfGaX+tCFy\nBkN0f+jeZYSSK5b3V9C+da7Vc2AqA3P2cOTFxX6VyrXK0zs6DmEQpuFrrsWW\n56vLy8ZtH7PNLrtf+7O2f5BGZABJm/sik5rlZkPFzL8ZaHayr3evF/qlOxbH\nh1+V\r\n=nEvK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHwVQVDmoDhkarmoNGrcFCM3UZ/RajIKnWUPt5/7yYWNAiEAs7XRidzJjphg9a9kJORj4+XAaD6D2/i5H0/yOCMiZho="}]},"maintainers":[{"name":"salem.ebo","email":"salem.ebo@gmail.com"}],"_npmUser":{"name":"salem.ebo","email":"salem.ebo@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/esmpack_0.1.4_1600969506384_0.6379716898513808"},"_hasShrinkwrap":false,"deprecated":"Package moved to new organization, https://www.npmjs.com/package/@ibyar/esmpack"},"0.1.5":{"name":"@aurorats/esmpack","version":"0.1.5","description":"esmpack, transform javascript files to es module that can be imported by browser.","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/aurorats/esmpack.git"},"license":"MIT","publishConfig":{"access":"public"},"type":"module","bin":{"esmpack":"bin/esmpack.js"},"scripts":{"clean":"rimraf ./{dist,buildInfo,bin/esmpack.js,bin/esmpack.d.ts}","build":"yarn clean && tsc -b -v","build:watch":"yarn clean && tsc -b -v -w","local:publish":"npm unpublish --tag dev --registry http://localhost:4873/ --force && npm publish --tag dev --registry http://localhost:4873/ --force","publish:npm":"npm publish --registry https://registry.npmjs.org "},"dependencies":{"glob":"^7.1.6","chokidar":"^3.4.2"},"devDependencies":{"@types/glob":"^7.1.3","@types/node":"^14.10.1","typescript":"^4.0.3"},"keywords":["aurora","esmpack","esm","module","js"],"gitHead":"f6d9f342a0d06bb29e78d9d1a48c7f1eeb7ff6e1","bugs":{"url":"https://github.com/aurorats/esmpack/issues"},"homepage":"https://github.com/aurorats/esmpack#readme","_id":"@aurorats/esmpack@0.1.5","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","_npmUser":{"name":"salem.ebo","email":"salem.ebo@gmail.com"},"dist":{"integrity":"sha512-Vj5SPrEDxNa0QG1AnDOrOKk5ccaeGqvSPml60uS/MGz44+m6JxyobiPWb3egw2Z5j61/Z+PHZLkKUWhFE0JLcw==","shasum":"b081933f276757a903d986b6790a6d5e27060dd1","tarball":"https://registry.npmjs.org/@aurorats/esmpack/-/esmpack-0.1.5.tgz","fileCount":36,"unpackedSize":94185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcnPuCRA9TVsSAnZWagAA7FMP/itX1iQaBDvcNk2/7A+V\ngGspB4zA9Dg6kFU6+wUKLlCVRcuCUxgG50zNqmRRRB4Ok3smJS8MWeAM6Qxq\nwEVbe4A/uXtwporsKgr1waxAwAL0GJAJ3oW/lFmy7F0k99SbIjUCVm4qNy0F\nJ1F2l0uZtWrtOjUP5414LSYGWihRhOB2KhmjSR4Z9b4DsGwjpLy//WYXBema\n0QIva+3PFPzMZDJr9gEViTdDgCmwx/TxJWhsUtzaRWUOYHjdiv47mee7/0K8\nH6U2PcxfMP1+gGCd9FXLTziAPoEVc3XWF3EdXIRg9W6ifK+3NuJ2at098PrT\nxIDr9Y9qOpIR/3l09/uYQr4pW/WAFIYKjMXbso/YKePYnO4Nsxnk9FsCubuv\nRv1sNkTc4JMbWaeT6lxgpfS0AYBQMc7YoqW1YgCtEdJwFouCNBgN3vXL+kB8\nOdWI2lAOCtA/NQ98+lVIuw5w7h+XDRvmOF9IAfuJiqvKMM82ZFGdfxF+/Mu0\nvbOoaChxu/Fd8viwXOow8kElx2GaRNljuAbpMs19mNl8cxxdpthK9raPRn6P\nQta0mxUsaj0vHZmAYiyVZTGPYoKt0DtLgfzjVyVjlvnXR1pWwRCgSFweo6Or\n0RPmShOJgHgmY4bUSS0XcE8oeFklq1pSzzvSC6Uw4rU5KXG0mJNuCoxuyW76\nlJy0\r\n=2lfp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICsin3YUgbWdcvyA3e4nu4dXBBYBynd9IpLYqjplPkdIAiEA/bPGmom2kFonwxWyudNnjU/lkDZ3IrS4CKZSuvblexg="}]},"maintainers":[{"name":"salem.ebo","email":"salem.ebo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/esmpack_0.1.5_1601336301549_0.879097762392657"},"_hasShrinkwrap":false,"deprecated":"Package moved to new organization, https://www.npmjs.com/package/@ibyar/esmpack"},"0.1.6":{"name":"@aurorats/esmpack","version":"0.1.6","description":"esmpack, transform javascript files to es module that can be imported by browser.","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/aurorats/esmpack.git"},"license":"MIT","publishConfig":{"access":"public"},"type":"module","bin":{"esmpack":"bin/esmpack.js"},"scripts":{"clean":"rimraf ./{dist,buildInfo,bin/esmpack.js,bin/esmpack.d.ts}","build":"yarn clean && tsc -b -v","build:watch":"yarn clean && tsc -b -v -w","local:publish":"npm unpublish --tag dev --registry http://localhost:4873/ --force && npm publish --tag dev --registry http://localhost:4873/ --force","publish:npm":"npm publish --registry https://registry.npmjs.org "},"dependencies":{"glob":"^7.1.6","chokidar":"^3.4.2"},"devDependencies":{"@types/glob":"^7.1.3","@types/node":"^14.10.1","typescript":"^4.0.3"},"keywords":["aurora","esmpack","esm","module","js"],"gitHead":"4f1ca1afa04de61db043b6283a6960f14c065c21","bugs":{"url":"https://github.com/aurorats/esmpack/issues"},"homepage":"https://github.com/aurorats/esmpack#readme","_id":"@aurorats/esmpack@0.1.6","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","_npmUser":{"name":"salem.ebo","email":"salem.ebo@gmail.com"},"dist":{"integrity":"sha512-arpf0pcdP067I1JdEMOnf81wrYj2qoczrjZP8FbF8WLECcSRlZYCXe2vYME2iUrRWK+HioDFEeCwOwwdP1H8lQ==","shasum":"6620646abe08ae704a80b650d594756dff853d28","tarball":"https://registry.npmjs.org/@aurorats/esmpack/-/esmpack-0.1.6.tgz","fileCount":36,"unpackedSize":94854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc1y7CRA9TVsSAnZWagAA/XUQAJLnA6TTgfjrNEU43eZ0\nK/hg6sB8KfApca677eoOu8BqXMDDlguR6UyU3sn9gKLrG+43GAAriLjeAw84\n+aBQxGdw73m7bfOepRLHVG7dnsxAnuoVxQu2aRIO4sRs/w9IzwT5OY5bP/95\nDqUHfWf1ZWrPXHpSc7PUi9kk+j/riozonTyugvzrIQK9L9pS4atP6V9yOmMC\nsG6rMgCxTH085uqgnE3rC36poqdhbwHWFXeLG1TI839WFnmGvxjz60gn/kM0\nNl3d42S7DVC9ZRqKOfxESYdu9Gemi6+86rb7+ra3J2ZQIQpl2PKDPoeJGiuB\nRsFkMsw53nu1cLkMu1cywP6Xp7P7i8KDUAG5WC2pN8J7LkL06JEUZ+vjWhbN\nqV5fmr/QRMHAEZaeNz5fT588cXCYMEOfctdCCs/oxeY1/1eu99GfaFATy1Uk\no0GS+oDEbye4clXtwvRs/iT0vILbNYttZVkzdFv1T420Ca4BsBKHrm0U6wwQ\nqGXT6dGb1hDgmmwi/385Hbr6poV/jQKkmrUinfeFgWD9gXcOWIj4mJsCdYSa\nfaTyY2dCSQGlGvqRo6CJxnK2qvNRnq9tHCOxIpeDa9WgJPzmAleew7bDNTkQ\nGBi+38CH6Z+ByDTwK+bfg0JE0KxDDvzqHoX78hl4mpftM0xkBkvGSzCwoD5k\nKnl5\r\n=ediM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoescByLthDkc7SbrWg3712Vj+f5gfXvTm7L/g35KvCwIgPvbzJdXlH/NUvE0i2E7mOf4bXE3W0DGZK5n5P/YiQvY="}]},"maintainers":[{"name":"salem.ebo","email":"salem.ebo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/esmpack_0.1.6_1601395899054_0.2999220586418547"},"_hasShrinkwrap":false,"deprecated":"Package moved to new organization, https://www.npmjs.com/package/@ibyar/esmpack"},"0.1.7":{"name":"@aurorats/esmpack","version":"0.1.7","description":"esmpack, transform javascript files to es module that can be imported by browser.","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/aurorats/esmpack.git"},"license":"MIT","publishConfig":{"access":"public"},"type":"module","bin":{"esmpack":"bin/esmpack.js"},"scripts":{"clean":"rimraf ./{dist,buildInfo,bin/esmpack.js,bin/esmpack.d.ts}","build":"yarn clean && tsc -b -v","build:watch":"yarn clean && tsc -b -v -w","local:publish":"npm unpublish --tag dev --registry http://localhost:4873/ --force && npm publish --tag dev --registry http://localhost:4873/ --force","publish:npm":"npm publish --registry https://registry.npmjs.org "},"dependencies":{"glob":"^7.1.6","chokidar":"^3.4.2"},"devDependencies":{"@types/glob":"^7.1.3","@types/node":"^14.10.1","typescript":"^4.0.3"},"keywords":["aurora","esmpack","esm","module","js"],"gitHead":"79b3055bcc5f3470a58b5b51f5d1349ef0ef03ca","bugs":{"url":"https://github.com/aurorats/esmpack/issues"},"homepage":"https://github.com/aurorats/esmpack#readme","_id":"@aurorats/esmpack@0.1.7","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","_npmUser":{"name":"salem.ebo","email":"salem.ebo@gmail.com"},"dist":{"integrity":"sha512-SH3SK3/LppvwwiGH1O/1++wDK/TFUzM2dfjqmHm+2A0gsH3vh6HV9Q2keV4EG+qtBlk+Zg01qHmQlkMdqFZTSA==","shasum":"a0cbd4e809ff77b84184258dd6f093d597ad727a","tarball":"https://registry.npmjs.org/@aurorats/esmpack/-/esmpack-0.1.7.tgz","fileCount":36,"unpackedSize":95224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdEIICRA9TVsSAnZWagAAGDgP/2EzFhr2KyTclUSjzwPM\nqLysBNPiA/srjIg4fRqe7AiWrVm4vWzCMW6DzxCkRZlClrMv2HFQvDragykf\nrVx/PgRDHnuJfWUn3YlH6K65f5FSWERL0OM39D20W56hVImN6HMnEShCtFre\nQ/jGbpv8wvevr1EcpOLiUPFz1PbUurlzY32eCFUhA7c18+2ZOHNvBpmlULV6\ne/+e+qsNRkmJ4whR/WjkaiLW9DrA/61O58f1TNuwls2sM5dIcCwV5ofPi9tI\n6d05xw4Z9Qa7PXVcrJIteEh9jveFnjy1ope9HzU1F02aOtJMj+jpyPGUmCYi\n9DcolKODoNMxhRLL8U7syhROSB9oyQnc5It1LHKluYuDULYU3cneqdOP9TMr\n5Law85rnWQMZpMw3rbKWJ8sinIyWmwnAiRuOiLfRoTfaR6LalOxlTd8FkaI1\ncilUjkjL4dPnEdTBEr7Uxlq5yUuSA8oOSxDlmxawnV3ioMnXzQJiekkkOswm\nPzwKoHYrin6GzUq+qznuMKwUUdM3ZPesojGR2XX3NhlxXO2nT0g3lvvK60R0\nKz3rVW+wiBxaD+esrR5+G+ZGY5FflnCD6tZapDQHBHW1FLdITIOhul7TKJtr\nrnVXz04NlNkOHEf2WajvXzd/++c7U60/w8C92ThTTwu07RSDG6LLRh879ohZ\nGJU8\r\n=XtE2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDY9WCW6AHZlXp//RgBg51bcdrg8MasnkxMhgpAaJSxfgIhAPpJUatcikWlY/CvP1E1j/ow5OIg+Z5nZxGuFgEaGzf2"}]},"maintainers":[{"name":"salem.ebo","email":"salem.ebo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/esmpack_0.1.7_1601454599958_0.5509938208507528"},"_hasShrinkwrap":false,"deprecated":"Package moved to new organization, https://www.npmjs.com/package/@ibyar/esmpack"},"0.1.8":{"name":"@aurorats/esmpack","version":"0.1.8","description":"esmpack, transform javascript files to es module that can be imported by browser.","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/aurorats/esmpack.git"},"license":"MIT","publishConfig":{"access":"public"},"type":"module","bin":{"esmpack":"bin/esmpack.js"},"scripts":{"clean":"rimraf ./{dist,buildInfo,bin/esmpack.js,bin/esmpack.d.ts}","build":"yarn clean && tsc -b -v","build:watch":"yarn clean && tsc -b -v -w","local:publish":"npm unpublish --tag dev --registry http://localhost:4873/ --force && npm publish --tag dev --registry http://localhost:4873/ --force","publish:npm":"npm publish --registry https://registry.npmjs.org "},"dependencies":{"chokidar":"^3.4.3","glob":"^7.1.6"},"devDependencies":{"@types/glob":"^7.1.3","@types/node":"^14.14.6","typescript":"^4.0.5"},"keywords":["aurora","esmpack","esm","module","js"],"gitHead":"342958c83434ed6014c7845cbaa3532de38978b4","bugs":{"url":"https://github.com/aurorats/esmpack/issues"},"homepage":"https://github.com/aurorats/esmpack#readme","_id":"@aurorats/esmpack@0.1.8","_nodeVersion":"15.1.0","_npmVersion":"7.0.8","dist":{"integrity":"sha512-eHfTHjM49pHeNjSeVwZBNcwli0z1wjAWeREZ3EzeamQRbP8NghEow20FNrKKzbwn8xrb2zkBJQeo25jE9TGztA==","shasum":"39b46f75b4d96ee37ebf8d441a2944e148d49144","tarball":"https://registry.npmjs.org/@aurorats/esmpack/-/esmpack-0.1.8.tgz","fileCount":36,"unpackedSize":95163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpoTFCRA9TVsSAnZWagAAKosP/jV6XezDU+xeD3yF23Vo\nnaBzmKyM6mWs/CZldrBBEJ3j/Y/OjoDX745Y5KtyBKFaI7yW8BuYBhTAIwJ8\nNQhbFv8VswmmBBP/EAd7q0/kmcdE37AX9THf1nYhxP4fsrvVcHaedNuXFV08\ngp3vo5718N9Rr13N3mEvw3YDfFx3GHW3pCFsvy6JgXhYO6B0SpLxLt38lpEa\n4kbBqKuaPgIctadrFeSXBx0dCqRFdY4raOOwPLyj9unUq39dyG3DfX+VzJRJ\nSSvhivvcZ0XRz+xMrU4mCds7Z/sAWfWjdctGI8dnyEEBz87RS2VwR0AZpd/y\nfbZam5FvQel1sTqnnthCdcvD6thQZhmPs1QBTloUTQaHz0vQxZc7+E1Rp9HS\nqd0+MJNlSmea7/wXn/0Vi7jZotUJE5z3pP05OxnvYSFSKN6tI9QF50cchy5K\nptdJ43//K/kjGBiwoJHB+mvjahXdPvj6VPzyDPQvrbW18FCoyf8idzFXgNpK\nX9/fQYshWSuRJz9Vw0li57CwF5C01srlJakY7lbvz/CHmrkwZDv0KEWOdmk2\nZ2PpGYzqT7SH/e2tn+JW3tOt5OhopbH2/3LaZqmNXr/CANeuPkFyA+2LGZGg\n6Ip0mSTgwiAEGYLK/FVxJQI1j//diohW8T/Zc8DfwOo6JLjShOWulpIcCwp8\nq6xX\r\n=tdQX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwgE5CujilUeIPLU7+ph8HuRnPxyziWvVe3RqfqVMjOAiAPQOAk5xF4/jzsGe9DTE+/ZfIaC2nPpASJypCoVV75Xg=="}]},"_npmUser":{"name":"salem.ebo","email":"salem.ebo@gmail.com"},"directories":{},"maintainers":[{"name":"salem.ebo","email":"salem.ebo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/esmpack_0.1.8_1604748485359_0.7287481668472808"},"_hasShrinkwrap":false,"deprecated":"Package moved to new organization, https://www.npmjs.com/package/@ibyar/esmpack"}},"time":{"created":"2020-09-24T17:45:06.117Z","0.1.4":"2020-09-24T17:45:06.565Z","modified":"2022-04-04T16:29:03.771Z","0.1.5":"2020-09-28T23:38:21.705Z","0.1.6":"2020-09-29T16:11:39.257Z","0.1.7":"2020-09-30T08:30:00.101Z","0.1.8":"2020-11-07T11:28:05.511Z"},"maintainers":[{"name":"salem.ebo","email":"salem.ebo@gmail.com"}],"description":"esmpack, transform javascript files to es module that can be imported by browser.","homepage":"https://github.com/aurorats/esmpack#readme","keywords":["aurora","esmpack","esm","module","js"],"repository":{"type":"git","url":"git+https://github.com/aurorats/esmpack.git"},"bugs":{"url":"https://github.com/aurorats/esmpack/issues"},"license":"MIT","readme":"# esmpack\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![LICENSE][license-img]][license-url]\n![npm-dependencies][npm-dep-url]\n![GitHub contributors][contributors]\n\n[npm-image]: https://img.shields.io/npm/v/@aurorats/esmpack.svg\n[npm-url]: https://npmjs.org/package/@aurorats/esmpack\n[downloads-image]: https://img.shields.io/npm/dt/@aurorats/esmpack\n[downloads-url]: https://npmjs.org/package/@aurorats/esmpack\n[license-img]: https://img.shields.io/github/license/aurorats/esmpack\n[license-url]: https://github.com/aurorats/esmpack/blob/master/LICENSE\n[npm-dep-url]: https://img.shields.io/david/aurorats/esmpack.svg?maxAge=2592000\n[contributors]: https://img.shields.io/github/contributors/aurorats/esmpack\n\nesmpack, transform javascript files to es module that can be imported by browser.\n\n## `Install`\n\n - As Global\n\n``` bash\nnpm i -g @aurorats/esmpack\nyarn global add @aurorats/esmpack\n```\n - As Developer Dependencies\n\n``` bash\nnpm i --save-dev @aurorats/esmpack\nyarn add --dev @aurorats/esmpack\n```\n\n# How to use\n\ncan load config from js file (es module), or json file, if not \n\n```\nVersion 0.1.4\nUsage: esmpack [config path] [options]\n\nif no config file in the commend will try to search for file names\n'esmpack.js', 'esmpack.mjs' and 'esmpack.json'.\n\nExamples:\n    esmpack\n    esmpack esmpack.js\n    esmpack esmpack.json -w -d\n    esmpack -v\n    esmpack --help\n\nOptions:\n            --prod      build for production, minify modules, css, etc...\n    -d      --debug     output debug messages on internal operations\n    -s      --silent    don't print any thing\n    -w      --watch     watch files for change\n    -h      --help      print help message\n    -v      --version   output the version number\n```\n\n### Javascript Config file\n\njs config file, proved a way to connect `esmpack` with any plugin, the built-in plugins can be called by its name `css, html, json, text, image, audio`.\n\n- The built in plugin, will try to fetch the resource with `fetch` request.\n- The Built-in plugin provide 3 different information about the resource file:\n - 1-  `value` : content itself, its type controlled by the plugin, import `.json` file will return json object, import `.txt`, `.css` and `.html` will return a string object.\n - 2- `url` : a url for the resources.\n - 3- `promise`: the promise to listen, to be notified with the fetch result.\n\n```ts\ndeclare module '*.html' {\n    export default value;\n    export const value: string;\n    export const url: string;\n    export const promise: Promise<string>;\n}\n\nimport htmlFile, {url as appUrl, promise as appPromise}  from './app-root.html';\n// will be transformed to\n\nlet htmlFile;\nconst appUrl; \nconst appPromise;\n```\n\nif didn't provide a config path to the cli, will search for config file in the `process.cwd()` for file name `esmpack.config.js` if not found, then search for  `esmpack.config.mjs`, then `esmpack.config.json`, if non of them found, will exits with error code.\n\nCould be a js module file with default export as `JSConfig Interface` object. in that case make sure the `package.json` is marked as module package, `{\"type\": \"module\"}`. this options is useful for nodejs when (importing a non `.mjs`) OR ( import `.js`) file.\n\n```js\nlet pdfHandler = (importSyntax, relativeFilePath) => {\n    /**\n     * write plugin for pdf files\n     * convert the pdf file to js module with default export as content of the pdf as `string`. \n     */\n    return {action: 'module'};\n};\n\nconst config = {\n    moduleResolution: 'relative',\n    outDir: 'build/web_modules/',\n    pathMap: { 'src': 'dist' },\n    src: {\n        files: [],\n        include: ['./dist/**/*.js'],\n        exclude: []\n    },\n    resources: {\n        files: [],\n        include: ['./src/**/*.*'],\n        exclude: ['./src/**/*.{js,ts,tsx}']\n    },\n    plugins: [\n        'css',\n        'html',\n        'image',\n        'json',\n        'txt',\n        { text: /\\.pdf$/g, handler: pdfHandler },\n        { test: /\\.xml$/g, moduleType: 'text'},\n    ]\n};\nexport default config;\n```\n\n# JSON Config file\n\n - for now the built-in plugin the oly pne supported.\n\n```json\n{\n    \"moduleResolution\": \"relative\",\n    \"outDir\": \"public/web_modules/\",\n    \"pathMap\": {\n        \"src\": \"dist\"\n    },\n    \"src\": {\n        \"files\": [],\n        \"include\": [\n            \"./dist/**/*.js\"\n        ],\n        \"exclude\": []\n    },\n    \"resources\": {\n        \"files\": [],\n        \"include\": [\n            \"./src/**/*.*\"\n        ],\n        \"exclude\": [\n            \"./src/**/*.{js,ts,tsx}\"\n        ]\n    },\n    \"plugins\": [\n        \"css\",\n        \"html\",\n        \"json\",\n        \"text\",\n        \"image\"\n    ]\n}\n```\n\n# API ESMConfig Interface\n\n```ts\nexport interface ESMConfig {\n\n    /**\n     * build dir\n     */\n    outDir: string;\n\n    /**\n     * location of input files\n     */\n    src: SourceInput;\n\n    /**\n     * resource dir to copy to and look/resolve other import\n     * module '.css', '.html' '.map' files.\n     */\n    resources: SourceInput;\n\n    pathMap: { [key: string]: string };\n\n    /**\n     * preferred extension for build files '.js'. \n     * \n     * for web use \".js\" if your server can't handle \".mjs\" \n     * as MIME type \"text/javascript\" and Content-Type: text/javascript.\n     * \n     * for nodejs support \".mjs\" out of box starting with version .\n     * or As of Node 13, you can use ext: \".js\"\n     * and can trigger support by setting \"type\": \"module\", in package.json\n     */\n    extension: ModuleExtension;\n\n    /**\n     * `relative`: convert import statement to be relative path to its dir\n     * ```\n     * npm_modules/@models/people/model/person.js\n     * export class Person {....}\n     * \n     * npm_modules/@models/people/index.js\n     * export { Person } from './model/person';\n     * \n     * dist/views/person-component.js\n     * import { Person } from '@models/people';\n     * ```\n     * will be\n     * \n     * ```\n     * {outDir}/@models/people/model/person.js\n     * export class Person {....}\n     * \n     * {outDir}/@models/people/index.js\n     * export { Person } from './model/person.js';\n     * \n     * {outDir}/dist/views/person-component.js\n     * import { Person } from '../../@models/people/index.js';\n     * ```\n     * \n     * `static`: resolve import to be static path, 'baseUrl' should be used\n     * the new path will ``` 'baseUrl' / 'pkg_name' / 'file path inside outDir'```\n     *  assume baseUrl = '/js/esm'\n     * the full url if http://localhost/js/esm\n     * \n     * ```\n     * {outDir}/@models/people/model/person.js\n     * export class Person {....}\n     * \n     * {outDir}/@models/people/index.js\n     * export { Person } from '/js/esm/@models/model/person.js';\n     * \n     * {outDir}/{project_pkg_name}/views/person-component.js\n     * import { Person } from '/js/esm/@models/people/index.js';\n     * ```\n     * \n     * `flat`: all modules will be in 'outDir' folder,\n     * files name will be combination from package name and module path, joined by '.'\n     * \n     * ```\n     * {outDir}/@models.people.model.person.js\n     * export class Person {....}\n     * \n     * {outDir}/@models.people.index.js\n     * export { Person } from './@models.people.model.person.js';\n     * \n     * {outDir}/{project_pkg_name}.views.person-component.js\n     * import { Person } from './@models.people.index.js';\n     * ```\n     * \n     */\n    moduleResolution: 'relative' | 'static' | 'flat';\n\n    /**\n     * Base directory to resolve 'static' module names.\n     */\n    baseUrl: string;\n\n    /**\n     * the output of this transformation shall \n     * scan 'all' js files in 'files' and 'include' and 'npm_modules' package.\n     * \n     * or just 'follow' import statements in js module files for this workspace.\n     * \n     * default to 'all'\n     */\n    workspaceResolution: 'all' | 'follow';\n\n    /**\n     * list of plugins to handle non-js supported files,\n     * \n     * built-in plugin is ['html', 'css', 'txt' ,'json', 'image files, png, jpg, ico,...']\n     */\n    plugins: PluginHandler[];\n\n    /**\n     * build for production\n     */\n    prod: boolean,\n}\n```\n\n## ClI JSConfig Interface\n\n```ts\n\ntype ConfigPlugin = string| { text: /\\.pdf$/g, handler: (importSyntax: ImportSyntax, relativeFilePath: string): PluginAction };\n\nexport interface JSConfig {\n    outDir: string;\n    src?: SourceInput;\n    resources?: SourceInput;\n    pathMap?: { [key: string]: string };\n    extension?:  \".js\" | \".mjs\";\n    moduleResolution?: 'relative' | 'static' | 'flat';\n    baseUrl?: string;\n    workspaceResolution?: 'all' | 'follow';\n    plugins?: ConfigPlugin[];\n}\n```\n\n## How to build A Plugin\n\n- for now all built-in plugin intercepting only `import` statement, `export` statement not implemented yet.\n\n```ts\nclass PluginAction { action: 'replace' | 'fetch' | 'module', inline?: string }\nlet pdfHandler = (importSyntax: ImportSyntax, relativeFilePath: string): PluginAction => {\n    // write plugin for pdf files\n    return {action: 'module'};\n};\n\n// provide a new plugin with the help of built-in plugin behavior.\nlet mdPluginHandler = new Plugin('text');\nlet pngImage = new Plugin('objectURL');\n\nlet config = {\n    ...\n    plugins: [\n        'json',\n        { test: /\\.pdf$/g, handler: pdfHandler },\n        { test: /\\.xml$/g, moduleType: 'text' },\n        { test: /\\.md$/g}, handler: mdPluginHandler },\n        { test: /\\.png$/g, handler: pngImage }\n    ]\n}\n```\n\n`replace:` replace import statement with code.\n`fetch`: replace the import statement with a fetch request code, from the inline.\n`module`: convert the resource file to a js module, and import its default.\n`inline`: hold code to be replaced with the import statement.\n`moduleType` value could be: `text`, `json`, `blob`, `arrayBuffer`, `file`, `uint8`, `objectURL`, `base64` and `dataBase64`.\n\n## Example \n\n`app/file.html`\n\n```html\n <h1> Hello from HTML</h1>\n```\n\n`app/main-module.js`\n\n```ts\nimport htmlContent, {url, promise, value} from './file1.html';\n\nconsole.log(htmlContent);   // print undefined\nconsole.log(value);          // print undefined\nconsole.log(url);           // print 'http://site-url/{outDir}/app/file1.html'\n\npromise.then(content => {\n    console.log(htmlContent);   // print '<h1> Hello from HTML</h1>'\n    console.log(value);          // print '<h1> Hello from HTML</h1>'\n    console.log(content);       // print '<h1> Hello from HTML</h1>'\n\n    console.log(content == htmlContent); // print true\n    console.log(content == html);        // print true, the same object\n})\n.catch(reason => console.error('failed loading html file'));\n\n```\n\n`@aurora/esmpack` support operator `as` for renaming the default exported names in the wildcard\n\n```ts\nimport json, {promise as jsonPromise} from './file.json';\nimport text, {promise as textPromise} from './file.txt';\n\nimport {url as imageUrl} from './image.jpg';\n\nfile1Promise.then(content => {\n    ....\n});\n\ntextPromise.then(content => {\n    ....\n});\n\n```\n\n`@aurora/esmpack` support operator `export` from a non-js file.\n\n```ts\n/// <reference types=\"@aurorats/types\" />\n\nexport * from './file.json';\nexport * from './file.txt'; \n/**will throw error at runtime, \n * keep aware of renaming wildcard binding names, so not conflict with each other.\n * Consider explicitly re-exporting to resolve the ambiguity\n */\n\nexport {url as imageUrl, jpg as imageObject} from './image.jpg';\nexport * as image from './image.jpg';\n```\n\n## TO:DO\n\n - set extension of module file to '.js' or '.mjs', currently, doesn't override filename.\n - moduleResolution `static` and `flat`: currently `relative` is supported\n","readmeFilename":"README.md"}