{"_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","_rev":"11-d7c94688dac7d5a9352a4a0fdb960383","name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","dist-tags":{"latest":"0.5.0"},"versions":{"0.2.0":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.2.0","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.2.0","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"6b6eda981868a11f6ad3e4072c3778feddaf111a","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.2.0.tgz","fileCount":3,"integrity":"sha512-eVnhbzAzsKzc4zEwgGRxYH3O6cEbYIlEng/U7xDvyjDJWSSSFWPZPCwvzWilX3jTAdZCWgtd83nNruBNohherQ==","signatures":[{"sig":"MEQCIBCvGyraD6IspvyiZKwgab61yhWvM96/3eypWwnTd+CGAiA2Z9KRiMZc9EHZwhy88QRigG9bcRDGz5nBWS9CvsccGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25862004},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"b5603e744fef03e8739dcf8a3a48b574611bda0b","_npmUser":{"name":"andreiltd","email":"andreiltd@gmail.com"},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.11.0","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.2.0_1778015001030_0.9228066907954491","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.2.1","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.2.1","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"a2009d1444c58f0db8347438274b5add6242f5ef","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.2.1.tgz","fileCount":4,"integrity":"sha512-GURwne91kks2qC/lHkZGCELkgUpck7LW7JicE3grAmVQiPD+LSvQqw+kpjcBZjp0hNqQRMXIFR9lQ2qmDozqlQ==","signatures":[{"sig":"MEUCIA9JDVfikK8lwRe1VwHtmprB5La6AlwHGU/x4YZlPdn5AiEAhv9TLGDHLGAn4NfaaSSyl/PwoArewcKQ7TqhbqNFSYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25879466},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"4658e8eb77548ca6553f0a6034910c8dfa5f178e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2b4c3b6-7515-455b-900b-f94499788887"}},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.14.1","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.2.1_1778663494286_0.8602331546718658","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.2.2","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.2.2","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"e6c68321a9164c69c7e2b5a7441086892e8f352b","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.2.2.tgz","fileCount":4,"integrity":"sha512-UgU/dS7Uy5g0TU4UFDyS8fAsd0BGF/jjbxPySO1jKNONqsapH9F93PvY8VIrR38rY9B9JsN0ktw2BBHwlvH/1Q==","signatures":[{"sig":"MEYCIQDFwTyEj0SLe63ZHHddAApvU1uFQtZhhXqpkZihpUI7BgIhAIN5OWwe+H7IR7cLvi+wKc97BEo1+DhMUsoKH3XEeQRh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25920426},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"f8938aa5731655d3150253f525dc70f9ec4ada20","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2b4c3b6-7515-455b-900b-f94499788887"}},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.15.0","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.2.2_1779884348528_0.49223229050039663","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.3.0","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.3.0","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"69d7c2507be793dfee8648fe15ba77993b2d19c3","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.3.0.tgz","fileCount":4,"integrity":"sha512-ZRhL1smNB5LmRCigWSlOsZ3QAwLOZJElA5r6gjCufVhc0EaOAwWGkiNJeODNtDoL9JNIsaFV8IcMht8aAOMsaw==","signatures":[{"sig":"MEUCIQD8J2KBVHOZSDt7MVcjo0cI49+96I2KlZghPI+k9jQLuAIgWyhPgf7Cyxmzm7YeUHv7qt3tU1DUfLj/chMgyz0XD9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28475872},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"2106b42325b4b703b033570183a63c0c0f07c1a9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af809f53-67c1-48f8-ab6d-99462baa424b"}},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.16.0","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.3.0_1781085248589_0.9005791208660403","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.4.0","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.4.0","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"289e289cb3a89751c44bc6c5823adc4f4835bb40","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.4.0.tgz","fileCount":4,"integrity":"sha512-HfqWXlrp3v2TEWcIAM9mcutVrHD651d78WOYnEwIA9UUtyaI8df3wQGAJUCX/Q3x+BjeinAtEFyOHkPqGA2VYA==","signatures":[{"sig":"MEQCIDKa9W5s1H43vWPR5kVPc9AIc5QWaHKx2AZSLPQHRMmrAiACWN+GvcGoTz1AWPBzlJiEICKZOpilxoLeIPSZBkfFcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29906732},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"705fc442f73b86457f90e2077173cd89e71b2254","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28024d16-0aeb-46ff-8c74-a113340facee"}},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.17.0","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.4.0_1781623598852_0.9012883652715955","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.4.1","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.4.1","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"ea9b9037bae9e4259d282f5884bce079d0a95d63","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.4.1.tgz","fileCount":4,"integrity":"sha512-FZfSalFGm7PNQFQtKdnpa3bm1hVlTfB8VZcnG5RRJiF430IUepR8ij9r1mPG07uuh5lNx4I+BVDkbWAgKmh1Ag==","signatures":[{"sig":"MEQCIE5Gz5FjXAbiaXpCsxZ10NeB5UGlu6V4T1iU9+7uS5U8AiBSOt0twSonSFf+NAX/XONPBK6j/KJJEihEzmfgwEjmzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29206316},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"6a444cd852272fa180f21675b359282cebaaba5c","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28024d16-0aeb-46ff-8c74-a113340facee"}},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.17.0","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.4.1_1781795303162_0.009395095053349234","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.4.2","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.4.2","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"29552c0e6d74dc666657a8403f7d835957e6957c","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.4.2.tgz","fileCount":4,"integrity":"sha512-/AmMSWe21BPEScpGHjeYRn6y+nKESufzZvJwEgxYqhD5IXPCBU3YDat2vfZGDcmRGSXnwbuWiIHa/XvmQGkkyg==","signatures":[{"sig":"MEUCIHcdxeAIdkj5H0cqehJyG8aCoPH+3BS94rPafNw0olL8AiEA/OEE2FAMGJniC533nauX+GBcAso2B++YCDdZrL9hxXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29408556},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"cea7b3e173356d89779e576f545bd1d1c0f03ad1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28024d16-0aeb-46ff-8c74-a113340facee"}},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.18.0","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.4.2_1783697257358_0.4739141965246896","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.4.3","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.4.3","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"5622e28f6a1029a86d43de02d0339b7a62e70615","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.4.3.tgz","fileCount":4,"integrity":"sha512-lZ7XQzbXsIRpCKqMnof0YSPiV01JFpcw3LOpR4q6kbR8+J8qqCwxD5hrJM0kCeml1YkxP9VxDpLSBRN40c+GVQ==","signatures":[{"sig":"MEQCIEoLJZ1ucyj/ifel3V2eJUk72GUMAt5Wa0dDiD7zwgzFAiAV+rx7L+d1OWxXVY03JgY60dkcsb26qBOqmWohscZKXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29711752},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"2b398ffcd6f91cb3f46df7f036090159a4583d71","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28024d16-0aeb-46ff-8c74-a113340facee"}},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.18.0","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.4.3_1784997458651_0.11353822298433713","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.4.4","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.4.4","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"618c9504f671b8762aff45dbd0fe21d90c3a4d38","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.4.4.tgz","fileCount":4,"integrity":"sha512-JSL3JymEI+mfCcNV0nLjA0bxFfX6tBfUlqH83mmCcdNLZRDmRA2KE+tPJ1CpIk+Km4txYWuzTAZxrtJG85iIxA==","signatures":[{"sig":"MEQCIBVeQvcEHigvi3vmcXn7jExLG+qYLGEBItNr9lyQcpDIAiBoDE+cq0aAiRtAeJRPCw0UZM3JvCht/nNWZ5ZzRJxgkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29107832},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"b94852190f55072655df735147b66c9a5e0f30f9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28024d16-0aeb-46ff-8c74-a113340facee"}},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.19.1","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.4.4_1788362926202_0.23089117351376842","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","version":"0.4.5","license":"Apache-2.0","_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.4.5","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"homepage":"https://github.com/andreiltd/componentize-qjs","bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"8cfa58cc78abd5705787d29e1e46b0a4c719b0a6","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.4.5.tgz","fileCount":4,"integrity":"sha512-OZO/omsMQFpw3wJJs3XFN+iEu2ZQCWMK8BxkhmXVm1sddEHtgSTY2sT/zq69VZeXjC0zgN1HzlxHbNBq0OkcOQ==","signatures":[{"sig":"MEYCIQDUE0poyzftSOEWA3am8I2rzJkn7GWR70fCjfMCSCmm8gIhAIZxT2KgfxnvEMd0ZwEx+Nz/hec6uEbkI/CFNSXp2uZC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBZOR0wwhn4yXrAlqIjzD8OA26qH9JSop525p1vDExz6AiEA9X3h8+ciGNoCW1fBTFPZfCY1flP7eVLpZBls7P9tvN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29338816},"main":"componentize-qjs.win32-arm64-msvc.node","engines":{"node":">=18.0.0"},"gitHead":"e563c6d6ae50b087980414015663ca9c948c09bb","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28024d16-0aeb-46ff-8c74-a113340facee"}},"repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.19.1","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.4.5_1789557155071_0.5944023080008038","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"os":["win32"],"_id":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc@0.5.0","cpu":["arm64"],"bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"dist":{"shasum":"17eb3cbf2252dc330f7a8db73e4a9a81e1ad04d5","tarball":"https://registry.npmjs.org/@andreiltd/componentize-qjs-binding-win32-arm64-msvc/-/componentize-qjs-binding-win32-arm64-msvc-0.5.0.tgz","fileCount":4,"integrity":"sha512-c8fXs5sc5dOUp+cCLzYFRNcae7v/nXll3+FEGD7alIBoHkboTcwGumAnEoZY325ko1y3wyV4d6FVSNkU6a8W8w==","signatures":[{"sig":"MEQCIEcx1z9yC1qjZGqrpw06BkBaqXCIgdWT/H7DliOUW/jTAiBy8iumCQQgwKEQnNS7HHw2DRol8Td6kmKme5LZ1PLcJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGBM9W1fiAOEA9Q6HaVcxOhmHxCys7738+xADYIzwlyVAiEAm9sJnxMnG8mjHpNaNCXPJ5/MwhWnpHJn2BCV1yYwTGc="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andreiltd%2fcomponentize-qjs-binding-win32-arm64-msvc@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28903515},"main":"componentize-qjs.win32-arm64-msvc.node","name":"@andreiltd/componentize-qjs-binding-win32-arm64-msvc","engines":{"node":">=18.0.0"},"gitHead":"66b3fafcfd7588e155edc0bec4839e5de7298072","license":"Apache-2.0","version":"0.5.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"28024d16-0aeb-46ff-8c74-a113340facee"}},"homepage":"https://github.com/andreiltd/componentize-qjs","repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"_npmVersion":"11.21.1","description":"Convert JavaScript to WebAssembly components using QuickJS","directories":{},"maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/componentize-qjs-binding-win32-arm64-msvc_0.5.0_1792684832607_0.952553798942352"}}},"time":{"created":"2026-05-05T21:03:20.919Z","modified":"2026-10-22T16:00:33.760Z","0.2.0":"2026-05-05T21:03:21.512Z","0.2.1":"2026-05-13T09:11:34.758Z","0.2.2":"2026-05-27T12:19:09.138Z","0.3.0":"2026-06-10T09:54:08.924Z","0.4.0":"2026-06-16T15:26:39.198Z","0.4.1":"2026-06-18T15:08:23.497Z","0.4.2":"2026-07-10T15:27:37.652Z","0.4.3":"2026-07-25T16:37:38.954Z","0.4.4":"2026-09-02T15:28:46.494Z","0.4.5":"2026-09-16T11:12:35.375Z","0.5.0":"2026-10-22T16:00:32.983Z"},"bugs":{"url":"https://github.com/andreiltd/componentize-qjs/issues"},"license":"Apache-2.0","homepage":"https://github.com/andreiltd/componentize-qjs","repository":{"url":"git+https://github.com/andreiltd/componentize-qjs.git","type":"git","directory":"npm"},"description":"Convert JavaScript to WebAssembly components using QuickJS","maintainers":[{"name":"andreiltd","email":"andreiltd@gmail.com"}],"readme":"# componentize-qjs\n\n[![CI](https://github.com/andreiltd/componentize-qjs/actions/workflows/ci.yml/badge.svg)](https://github.com/andreiltd/componentize-qjs/actions/workflows/ci.yml)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nConvert JavaScript source code into\n[WebAssembly components](https://component-model.bytecodealliance.org/) using\n[QuickJS](https://github.com/quickjs-ng/quickjs).\n\n## Overview\n\n`componentize-qjs` takes a JavaScript source file and a\n[WIT](https://component-model.bytecodealliance.org/design/wit.html) definition,\nand produces a standalone WebAssembly component that can run on any\ncomponent-model runtime (e.g. [Wasmtime](https://wasmtime.dev/)).\n\nUnder the hood it:\n\n1. Embeds the [QuickJS](https://github.com/quickjs-ng/quickjs) engine (via\n   [rquickjs](https://github.com/DelSkayn/rquickjs)) as the JavaScript\n   runtime.\n2. Uses [wit-dylib](https://crates.io/crates/wit-dylib) to generate WIT\n   bindings that bridge the component model and the JS engine.\n3. Snapshots the initialized JS state with\n   [Wizer](https://github.com/bytecodealliance/wizer) so startup cost is paid at\n   build time, not at runtime.\n4. Prunes explicitly marked one-time setup code with Walrus and strips\n   debug/build metadata from the snapshotted component.\n\n## Prerequisites\n\nRust **1.97** or later is required by Wasmtime (the `wasm32-wasip2` target also\nneeds a recent toolchain for PIC support in wasi-libc).\n\n## Installation\n\n### Rust CLI (crates.io)\n\n```bash\ncargo install componentize-qjs-cli --locked\n```\n\nThis installs the `componentize-qjs` command.\n\n### Rust CLI (from source)\n\n```bash\ncargo install --path . --locked\n```\n\n### Prebuilt CLI binaries\n\nPrebuilt CLI archives are attached to each\n[GitHub release](https://github.com/andreiltd/componentize-qjs/releases) for\nLinux, macOS, and Windows.\n\n### npm package\n\n```bash\nnpm install componentize-qjs\n```\n\nThis pulls in the right prebuilt native binding for your platform via the\n`@andreiltd/componentize-qjs-binding-*` optional dependencies.\n\nIf you want to build from source run:\n\n```bash\ncd npm && npm install && npm run build\n```\n\n## Quick Start\n\n**1. Define a WIT interface** (`hello.wit`):\n\n```wit\npackage test:hello;\n\nworld hello {\n    export greet: func(name: string) -> string;\n}\n```\n\n**2. Implement it in JavaScript** (`hello.js`):\n\nJavaScript sources are ES modules. Export WIT functions and interfaces directly\nfrom the module.\n\n```js\nexport function greet(name) {\n    return `Hello, ${name}!`;\n}\n```\n\n**3. Build the component:**\n\n```bash\ncomponentize-qjs --wit hello.wit --js hello.js -o hello.wasm\n```\n\n**4. Run it:**\n\n```bash\nwasmtime run --wasm component-model-async=y --invoke 'greet(\"World\")' hello.wasm\n# \"Hello, World!\"\n```\n\nThe built-in runtime published with componentize-qjs includes component-model\nasync support. Pass `--sync` to embed the built-in non-async runtime instead,\nproducing components that run on hosts without component-model async support. A\ncustom runtime can also be supplied with `--runtime`.\n\n## CLI Reference\n\n```\ncomponentize-qjs [OPTIONS] --wit <WIT> --js <JS>\n```\n\n| Flag | Short | Description |\n|---|---|---|\n| `--wit <PATH>` | `-w` | Path to the WIT file or directory |\n| `--js <PATH>` | `-j` | Path to the JavaScript source file |\n| `--output <PATH>` | `-o` | Output path (default: `output.wasm`) |\n| `--module-root <PATH>` | | Root directory exposed read-only during Wizer for resolving JavaScript imports |\n| `--world <NAME>` | `-n` | World name when the WIT defines multiple worlds |\n| `--stub-wasi` | | Replace all WASI imports with trap stubs |\n| `--minify` | `-m` | Minify JS source before embedding |\n| `--opt-size` | | Use the built-in QuickJS runtime optimized for size |\n| `--sync` | | Use the built-in non-async runtime (combine with `--opt-size` for the non-async opt-size runtime) |\n| `--runtime <PATH>` | | Custom QuickJS runtime Wasm module to embed |\n\n### Cargo features\n\n| Feature | Effect |\n|---|---|\n| `component-model-async` | (default) Embed the component-model async runtime as the default built-in. The non-async runtime is always embedded and selectable via `--sync`. Disable to build a smaller binary with only the non-async runtime |\n| `opt-size` | Selects the bundled opt-size runtime when no runtime option is provided by the CLI or npm API |\n\nBuild with features:\n\n```bash\ncargo build --release --features opt-size\n```\n\n## Using Imports\n\nWIT imports are available as ES module imports using their fully-qualified WIT\ninterface name:\n\n```wit\n// imports.wit\npackage local:test;\n\ninterface math {\n    add: func(a: s32, b: s32) -> s32;\n    multiply: func(a: s32, b: s32) -> s32;\n}\n\nworld imports {\n    import math;\n    export double-add: func(a: s32, b: s32) -> s32;\n}\n```\n\n```js\n// imports.js\nimport math from \"local:test/math\";\n\nexport function doubleAdd(a, b) {\n    const sum = math.add(a, b);\n    return math.multiply(sum, 2);\n}\n```\n\nJavaScript modules imported by the entry file are resolved during Wizer\ninitialization. Relative imports are resolved from the entry file path passed to\n`--js`; bare package imports are resolved under the read-only module root. By\ndefault the CLI uses the current directory when the entry file is under it, or\nthe entry file's parent directory otherwise. Use `--module-root <PATH>` to expose\na project root that contains shared files or `node_modules`.\n\n## WIT Type Mappings\n\n### Primitive Types\n\n| WIT Type | JS Type | Notes |\n|----------|---------|-------|\n| `bool` | `boolean` | |\n| `u8`, `u16`, `u32` | `number` | |\n| `s8`, `s16`, `s32` | `number` | |\n| `u64`, `s64` | `BigInt` | |\n| `f32`, `f64` | `number` | |\n| `char` | `string` | Must be exactly one Unicode scalar value |\n| `string` | `string` | |\n\n### Compound Types\n\n| WIT Type | JS Type | Example |\n|----------|---------|---------|\n| `list<T>` | `Array` | `[1, 2, 3]` |\n| `list<u8>` | `Uint8Array` or `Array` | `new Uint8Array([1, 2, 3])` |\n| `map<K, V>` | `Map` | `new Map([[\"key\", value]])` |\n| `tuple<T, U, ...>` | `Array` | `[42, \"hello\"]` |\n| `option<T>` | `T \\| null` (nested: `{ tag: \"some\"\\|\"none\", val }`) | `null` for none; `option<option<T>>` is wrapped |\n| `result<T, E>` | top-level function result: return `T` or throw `E`; nested result: `{ tag: \"ok\"\\|\"err\", val?: T\\|E }` | `return 42` / `throw \"error\"` |\n| `record { ... }` | `object` (camelCase keys) | `{ myField: 1 }` |\n| `variant` | `{ tag: string, val?: T }` | `{ tag: \"circle\", val: 2.5 }` |\n| `enum` | `string` (case name) | `\"red\"` |\n| `flags` | `object` (camelCase booleans) | `{ read: true, write: false }` |\n| `own<R>`, `borrow<R>` | resource object (methods on its prototype) | `input.blockingRead(n)` |\n\n### Imported Resources\n\nImported resources are exposed as JavaScript classes. Resource methods are\ncalled on the handle:\n\n```js\nimport stdin from \"wasi:cli/stdin@0.2.12\";\nimport stdout from \"wasi:cli/stdout@0.2.12\";\n\nconst input = stdin.getStdin();     // an InputStream\nconst output = stdout.getStdout();  // an OutputStream\n\n// Methods whose WIT return type is result<...> return the ok payload or throw.\nconst chunk = input.blockingRead(4096);   // method on the resource (len is a number)\noutput.blockingWriteAndFlush(chunk);\n```\n\n`[static]` methods are exposed on the resource class and `[constructor]` makes\nthe class callable with `new`.\n\nOwned imported resources support `[Symbol.dispose]()` for deterministic\ncleanup. Passing one to a WIT `own<T>` parameter transfers ownership and\ninvalidates the original wrapper. Borrowed wrappers expire when their component\ncall completes and cannot be transferred or disposed as owners. Resources lent\nto an in-flight import remain alive and cannot be disposed or transferred until\nthat import completes. Ownership is restored for unconsumed stream/future writes\nand for imported calls cancelled before they start. Await imports using an\nincoming borrowed resource before returning from its export.\n\n### Cancelling Async Imports\n\nA pending async import exposes a `cancel()` method on its Promise. Calling it\nrequests cancellation of that import. If cancellation succeeds, the original\nPromise rejects with `async import cancelled`; a call that finishes first may\nstill resolve normally. The enclosing export remains active, so its catch/finally\nblocks can await further host operations.\nAwait the original Promise before releasing resources it borrowed.\nCall `cancel()` from the same async export invocation that started the import;\nit has no effect from another export invocation.\n\nCalls that complete immediately may have no `cancel` method; use optional\nchaining when completion timing is unknown. Repeated cancellation is harmless,\nand a saved cancellation function cannot affect a later call that reuses the\nsame runtime handle.\n\n```js\nconst pending = service.compute(input);\nconst abort = () => pending.cancel?.();\nsignal.addEventListener(\"abort\", abort);\ntry {\n    return await pending;\n} finally {\n    signal.removeEventListener(\"abort\", abort);\n    await service.release();\n}\n```\n\n### Async Exports\n\nAsync exports are declared with the `async` keyword in WIT and implemented\nas JavaScript `async` functions:\n\n```wit\npackage example:greeting;\n\nworld greeter {\n    export greet: async func(name: string) -> string;\n}\n```\n\n```js\nexport async function greet(name) {\n    // You can use await here\n    await Promise.resolve();\n    return `Hello, ${name}!`;\n}\n```\n\nExported resource methods and static methods may also be async. Implement them\nas `async` members on the exported JavaScript class; resource constructors\nremain synchronous:\n\n```wit\npackage example:counter;\n\ninterface counter-api {\n    resource counter {\n        constructor(initial: u32);\n        add: async func(value: u32) -> u32;\n        create: static async func(initial: u32) -> counter;\n    }\n}\n\nworld counter {\n    export counter-api;\n}\n```\n\n```js\nclass Counter {\n    constructor(initial) { this.value = initial; }\n    async add(value) { this.value += value; return this.value; }\n    static async create(initial) { return new this(initial); }\n}\n\nexport const counterApi = { Counter };\n```\n\n### Streams\n\nStreams transfer a sequence of values between components. Lifted WIT streams\nimplement the JavaScript async-iterable protocol, and async or synchronous\niterables are lowered to WIT streams automatically. The stream type is inferred\nfrom the function parameter or result:\n\n```wit\npackage example:streaming;\n\nworld streaming {\n    export uppercase: async func(input: stream<string>) -> stream<string>;\n}\n```\n\n```js\nexport async function uppercase(input) {\n    return (async function* () {\n        for await (const value of input) {\n            yield value.toUpperCase();\n        }\n    })();\n}\n```\n\nAsync iteration yields one element at a time, except for `stream<u8>`, which\nyields bounded `Uint8Array` chunks to avoid one promise per byte.\n\nUse the `wit.Stream` factory when direct access to both endpoints is needed. If\nonly one stream type exists in the WIT world, the type may be omitted:\n\n```js\nconst { readable, writable } = wit.Stream(wit.Stream.U8);\nawait writable.writeAll(new Uint8Array([1, 2, 3]));\nwritable.drop();\n```\n\n`wit.Stream.from` adapts an iterable explicitly and exposes a completion\npromise:\n\n```js\nconst source = (async function* () {\n    yield \"one\";\n    yield \"two\";\n})();\nconst { readable, completion } = wit.Stream.from(source, wit.Stream.STRING);\n```\n\nAvailable type constants (populated from WIT metadata):\n\n| WIT type | Constant |\n|----------|----------|\n| `stream<u8>` / `future<u8>` | `wit.Stream.U8` / `wit.Future.U8` |\n| `stream<u32>` / `future<u32>` | `wit.Stream.U32` / `wit.Future.U32` |\n| `stream<string>` / `future<string>` | `wit.Stream.STRING` / `wit.Future.STRING` |\n| `stream<f64>` / `future<f64>` | `wit.Stream.F64` / `wit.Future.F64` |\n\nAll constructors return `{ readable, writable }`.\n\n**Complex element types** are also supported. The type constant is generated\nrecursively from the WIT type structure:\n\n```js\n// stream<result<string, u32>>\nwit.Stream(wit.Stream.RESULT_STRING_U32);\n\n// stream<option<u32>>\nwit.Stream(wit.Stream.OPTION_U32);\n\n// stream<tuple<u32, string>>\nwit.Stream(wit.Stream.TUPLE_U32_STRING);\n\n// Named record types use their WIT name:\n// record point { x: f64, y: f64 }\n// stream<point>\nwit.Stream(wit.Stream.POINT);\n```\n\nExplicit WIT stream aliases are also exposed as constants:\n\n```wit\ntype prompt-stream = stream<message-chunk>;\n```\n\n```js\nwit.Stream(wit.Stream.PROMPT_STREAM);\n```\n\nUse `wit.Stream.types` or `wit.Future.types` to discover all available type\nconstants at runtime.\n\n**StreamReadable methods:**\n\n| Method | Returns | Description |\n|--------|---------|-------------|\n| `read(count?)` | `Promise<T[]>` (or `Uint8Array` for `u8`) | Read up to `count` values |\n| `next()` | `Promise<IteratorResult<T>>` | Read the next value (`Uint8Array` chunk for `u8`) |\n| `return()` | `Promise<IteratorResult<T>>` | End iteration and release the readable handle |\n| `cancelRead()` | result or `undefined` | Cancel an in-progress read |\n| `drop()` | `void` | Release the stream handle |\n| `[Symbol.asyncIterator]()` | `StreamReadable` | Consume the stream with `for await...of` |\n\n**StreamWritable methods:**\n\n| Method | Returns | Description |\n|--------|---------|-------------|\n| `write(data)` | `Promise<number>` | Write values, returns count written |\n| `writeOne(value)` | `Promise<number>` | Write exactly one value, including array-shaped WIT values |\n| `writeAll(data)` | `Promise<number>` | Write all values, retrying as needed |\n| `writeIterableItem(value)` | `Promise<boolean>` | Write one iterable yield, batching matching numeric typed arrays |\n| `cancelWrite()` | result or `undefined` | Cancel an in-progress write |\n| `drop()` | `void` | Release the stream handle |\n\n### Futures\n\nFutures transfer a single value. They work like streams but carry exactly one\nvalue:\n\n```wit\npackage example:async-value;\n\nworld async-value {\n    export compute: async func() -> future<string>;\n}\n```\n\n```js\nexport async function compute() {\n    const { readable, writable } = wit.Future();\n\n    // Write the value (fire-and-forget; completes when reader reads)\n    writable.write(\"computed result\");\n\n    return readable;\n}\n```\n\n**Future type constants** follow the same pattern: `wit.Future.U32`,\n`wit.Future.STRING`, etc.\n\nFuture handles are deliberately not thenable: use `await readable.read()` to\nobtain the payload. This keeps `return readable` in an async export from\nimplicitly consuming the future, and preserves nested future handles.\nRepeated `read()` calls share the same Promise; a cancelled read rejects that\nPromise and allows a subsequent read to retry.\n\n`wit.Future.from(value, type)` adapts a value or Promise and returns\n`{ readable, completion }`. Return its `readable` from an async export rather\nthan returning the payload Promise directly, which JavaScript would await.\n\n**FutureReadable methods:**\n\n| Method | Returns | Description |\n|--------|---------|-------------|\n| `read()` | `Promise<T>` | Read the single value |\n| `cancelRead()` | result or `undefined` | Cancel an in-progress read |\n| `drop()` | `void` | Release the future handle |\n\n**FutureWritable methods:**\n\n| Method | Returns | Description |\n|--------|---------|-------------|\n| `write(value)` | `Promise<boolean>` | Write the value, returns success |\n| `cancelWrite()` | result or `undefined` | Cancel an in-progress write |\n| `drop()` | `void` | Release the future handle |\n\n### Resource Cleanup\n\nOwned imported resources, stream endpoints, and future endpoints support\n[Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management)\nvia `Symbol.dispose`. In environments that support `using`:\n\n```js\n{\n    const stream = wit.Stream();\n    using writable = stream.writable;\n    using readable = stream.readable;\n    // Each endpoint is disposed when leaving scope.\n}\n```\n\nThe factory's `{ readable, writable }` pair is not itself disposable.\nComplete an endpoint's pending operation (or cancel it and await its\nsettlement) before leaving its `using` scope or calling `.drop()`.\nHost-requested task cancellation retains pending ABI buffers until the host\nacknowledges each operation's completion or cancellation.\n\nOtherwise, call `.drop()` explicitly to release handles.\n\n## Snapshot Initialization\n\nSnapshot creation uses a 1 GiB host-call copy budget to accommodate large module\ngraphs. This allowance belongs to the build-time initializer; execution hosts\ncontinue to choose their own budgets for instantiated components.\n\n## Node.js API\n\nThe npm package exposes both a CLI and a programmatic API.\n\n### CLI\n\n```bash\nnpx componentize-qjs --wit hello.wit --js hello.js -o hello.wasm\n```\n\n(Or, if you installed the package globally, just `componentize-qjs ...`.)\n\n### Usage\n\n```js\nimport { componentize } from \"componentize-qjs\";\n\nconst { component } = await componentize({\n    witPath: \"hello.wit\",\n    jsSource: \"export function greet(name) { return `Hello, ${name}!`; }\",\n    optSize: true,\n});\n// component is a Buffer containing the WebAssembly component bytes\n```\n\nRuntime selection is available through `optSize`, `sync`, `runtime`, or\n`runtimeBytes`. `optSize` and `sync` may be combined to select the non-async\nopt-size runtime, but neither can be combined with a custom `runtime`/`runtimeBytes`.\nThe `runtime` option is a path to a custom QuickJS runtime Wasm module.\n\n## Acknowledgments\n\nThis project builds on ideas and code from:\n\n- [ComponentizeJS](https://github.com/dicej/componentize-js) by Joel Dice\n- [lua-component-demo](https://github.com/alexcrichton/lua-component-demo) by Alex Crichton\n\n## License\n\nLicensed under [Apache-2.0](LICENSE).\n","readmeFilename":"README.md"}