{"_id":"@paulmillr/jsbt","_rev":"26-91116b9c7755b108e8a831a809f134a3","name":"@paulmillr/jsbt","dist-tags":{"latest":"0.7.2"},"versions":{"0.1.0":{"name":"@paulmillr/jsbt","version":"0.1.0","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.1.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"5bdb5022152f892af90c266d5462de086818f7f0","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.1.0.tgz","fileCount":7,"integrity":"sha512-TdowoHD36hkZARv6LW4jenkVTdK2vP0sy4ZM8E9MxaqAAIRdwmn3RlB+zWkEHi4hKTgLqMGkURfNkFtt0STX2Q==","signatures":[{"sig":"MEUCIQDm5kXH0WIWW6yO2AgpD1p/wZvGZMJzhWp8h7y3LaTKwgIgTPBADbYgwIOm8Y7AEabKUF9/Ha0ZaEnA4ocMNGxzk0c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6498},"main":"jsbt.js","type":"module","gitHead":"8359d4eee4735b37b47f733e42b9985f08d623b1","_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.2.4","description":"JS build tools. Includes tsconfigs, templates and CI workflows","directories":{},"_nodeVersion":"21.6.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.1.0_1710675299710_0.8276630033459584","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@paulmillr/jsbt","version":"0.2.0","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.2.0","homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"54edaf1b5a09c85887540bc14f5b80a87b86d431","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.2.0.tgz","fileCount":6,"integrity":"sha512-aD1EJsJjkRr4/YOALfbu/0dfWTHtv2FUi+fo4IZuMXHjho4/Tqss7MYr3Dtv8hLcPseEj+Jza/Kb/BZqcfekuw==","signatures":[{"sig":"MEQCIGx2ZvaCKpJoHd2Bmt0v56V4EIbdxq4Bccv56NKtPGkzAiBytp+OhsyIbrxVrcI0bABKQXml4VEwslPj0y91ejLHvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6120},"main":"jsbt.js","type":"module","gitHead":"e4d6086b7de875a79b3b913e6e35f741326617a2","_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.7.0","description":"JS build tools. Includes tsconfigs, templates and CI workflows","directories":{},"_nodeVersion":"22.1.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.2.0_1719485714496_0.26822798479932564","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@paulmillr/jsbt","version":"0.2.1","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.2.1","homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"42ddfb601781cbd0259a372a957bc05532633c3a","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.2.1.tgz","fileCount":6,"integrity":"sha512-4uC/Fa8L8oYjLNPKBqHKCwLv/47s/Asa4Z/rL584YvViPtlFdxBeCFX6knCZxX5gn6n+2YUdr50Q1sIuUNma5Q==","signatures":[{"sig":"MEQCIASIvk+LXEsGlSpBDfuvPIL0krUIlGr/HBX9zlBnun1hAiBan1HFYNJDun2luTr+/Bs3jTcg9svZBoY8FfOsBlzSxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6120},"main":"jsbt.js","type":"module","gitHead":"470f566d06942c489c7af3b67495ed5b07eddcc7","_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.7.0","description":"JS build tools. Includes tsconfigs, templates and CI workflows","directories":{},"_nodeVersion":"22.1.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.2.1_1719847558538_0.4689477877205275","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@paulmillr/jsbt","version":"0.3.0","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.3.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"ce40940d50a3469cb62ac09e0fa6af220afc0e2b","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.3.0.tgz","fileCount":6,"integrity":"sha512-lpHkZMDjG8U8SGWjYNN3q+slbiNFxRdnu2V7kDnL+OMdP8/EMGZuZjYaQ13gGsANFowKFpZdsh6q2gDfHXBn/w==","signatures":[{"sig":"MEYCIQC4JdbPKU+J4A8v4XLu2Q3CLcmWdRsa8u3ko7jUbGjxlAIhALzYF6LDmrcRXfKGTeUfcxW++TQvtHs0HyMQQkoX6g7A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9650},"main":"jsbt.js","type":"module","gitHead":"973650a225c0344aa5f993a6cd63835a262077e9","scripts":{"test":"echo 'No test'","test:bun":"echo 'No test'","test:deno":"echo 'No test'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.9.2","description":"JS build tools. Includes tsconfigs, templates and CI workflows","directories":{},"_nodeVersion":"22.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.3.0_1737163230459_0.2718867234130691","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@paulmillr/jsbt","version":"0.3.1","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.3.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"7fe766a4caf1a06d8dba9c4a449dca8fdac53a1e","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.3.1.tgz","fileCount":6,"integrity":"sha512-mZFkB8GcGu9UPcQqNNqe8xH3t31LkeufYUON//dcm1ASWHBT0caiwek/MxbH5/N5wtCfaH5L4tRAcaQWGO7w9w==","signatures":[{"sig":"MEUCIQD5puZn305FqtxUZwD7YOd6LY3nkXnMTRQ2Hv8nmJOqbAIgJh21rDbJVTNehKLzidMt0J/HkfT8ECTeuyVbScRHFtQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9649},"main":"jsbt.js","type":"module","gitHead":"c45f03360e0171b138f04568d2fdd35d7bbc0d35","scripts":{"test":"echo 'No test'","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.9.2","description":"JS build tools. Includes tsconfigs, templates and CI workflows","directories":{},"_nodeVersion":"22.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.3.1_1737178310281_0.8653272831027066","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@paulmillr/jsbt","version":"0.3.2","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.3.2","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"8ddcb899ea1c5e15e33bfccb05c86fad032408a3","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.3.2.tgz","fileCount":6,"integrity":"sha512-jPa9pmnZe/fYxBMhF+/tYPWiYmPsZXqtO3MQbNn/8AvpOJpI7msqGjPJkit5BMCLdb02ojtKR6CWDiXhze6QqA==","signatures":[{"sig":"MEUCIHnqh0BJpojvVEns+YQcZyBdUKYcIto9PyCP2B1s1QxnAiEAwKHdX0mjYAunCEfeaJ1ISpG18Nj8+VgTN5HT+4HEn6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9766},"main":"jsbt.js","type":"module","gitHead":"bca5be4be1e9de23696e3bd881487011054393f7","scripts":{"test":"echo 'No test'","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.9.2","description":"JS build tools. Includes tsconfigs, templates and CI workflows","directories":{},"_nodeVersion":"22.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.3.2_1740787582307_0.17899185146630514","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@paulmillr/jsbt","version":"0.3.3","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.3.3","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"b2c89cb377190ad2a99d825bd39aae021885bbda","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.3.3.tgz","fileCount":6,"integrity":"sha512-92Z78xwPjN1jjY4AHkaLWGuSk4ILQGJ2bEz0MzGJ6bYvl5dFHQMZR8irW7Myz+xpSbsST7d4ykjLPPaghI2apg==","signatures":[{"sig":"MEUCIQD4U5hQi4bzkaL1iq1opifPsVRCYN1nmomIPzlMK2bIAwIgR65URTp4sLeTf7E7LRoEbTBMnDV9uoZ1x1SeaMqMa3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9766},"main":"jsbt.js","type":"module","gitHead":"c9a9f2cd6b4841aa3117b174e9ea468b1650e5ea","scripts":{"test":"echo 'No test'","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.9.2","description":"JS build tools. Includes tsconfigs, templates and CI workflows","directories":{},"_nodeVersion":"22.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.3.3_1740789365859_0.5483657735364071","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@paulmillr/jsbt","version":"0.3.4","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.3.4","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"09599ba4167ee3fcf287a8187c03359b9861efd2","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.3.4.tgz","fileCount":6,"integrity":"sha512-irPhIXlAhbSoa+rn39H8ajDQNAm8RIKU+XD/4lEG6fNZFPVzEkIqAKubCCiv7mJL59+p4BAmAvjHrLwXHDxk3g==","signatures":[{"sig":"MEQCIGb64BjgQthf/mhAgZDsO40TUfQxz/f8jNElAphD4hdXAiAxbzerk1FCzplbJBDmOqR/qtIsrnKaxLqw9lGx0qKeAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7982},"main":"jsbt.js","type":"module","gitHead":"2bb91844d7155bf62deaba2d8a4c53cfe032b59a","scripts":{"test":"echo 'No test'","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.9.2","description":"JS build tools. Includes tsconfigs, templates and CI workflows","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.3.4_1747215175545_0.4306432137089571","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@paulmillr/jsbt","version":"0.4.0","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.4.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"65365676768d9f2d76f827f3bc47eaefb99c0456","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.4.0.tgz","fileCount":6,"integrity":"sha512-iu9qQqxEl/H6QH9wZ6f09kHzIimp/ktooMS2b2Lg4Y1JwdS06ix5saUyR8wL877b6OIQBevZkxYxrnA87k8sQw==","signatures":[{"sig":"MEQCICEUyZCCBragXL2w+3jpU1EzNmWG61Ry60DLw4T03HGJAiAbbUEx0HEXb9PewY5Eo+5mMh5E4g9nx00lgIIdN9GWxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7982},"main":"jsbt.js","type":"module","gitHead":"3b4712c94bff7a5da5c968f783292061e81b218c","scripts":{"test":"echo 'No test'","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.9.2","description":"JS build tools. Includes tsconfigs, templates and CI workflows","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.4.0_1747215942432_0.35593436344009577","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@paulmillr/jsbt","version":"0.4.1","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.4.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"0f0fb189a571dd3e2ecdb324be8e6f73b3b339dd","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.4.1.tgz","fileCount":7,"integrity":"sha512-WomUnhmgUEeIDgeIL8mADU2SsYjeQf7M68OJyj8J2QbfnhJU6BEkwblwV9lq3mQJsPaXOl1gPVwAVZxzEXFCtw==","signatures":[{"sig":"MEQCIDKa8FrJrtRgERg0cZlUAsbWVIN2GO4hc/lJLu8ok1j3AiBcZM6kAtqjhDU8uX1jCYtskN2ioqADAfhcHepeBPtbFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8389},"main":"jsbt.js","type":"module","gitHead":"2318b9efe24831b4bd4cadf720c96f071c69c64d","scripts":{"test":"echo 'No test'","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"10.9.2","description":"JS build tools: tsconfigs, templates, scripts and CI workflows","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.4.1_1748528173285_0.17130403699968588","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@paulmillr/jsbt","version":"0.4.2","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.4.2","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"b3845d2a966abcca4f90a1eedb712276b49b56bc","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.4.2.tgz","fileCount":7,"integrity":"sha512-PvuUS1RcN/6lONBl35joRmTAXPVyIzof2+APbWyfTGw4mdruoVNRJyhkF+CNw8A414m2FkyPS0xFbRfF/9soDw==","signatures":[{"sig":"MEYCIQDciQ4CIV+kOKZQI1rRnWPrlNEAGw9UOjyQMDHw2Ie0igIhAIZ3LGMjwuLh2kAEqdy55C/DVXFhswlCfG76ZIOIYXNJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8389},"main":"jsbt.js","type":"module","gitHead":"5194a28c9f94ad504090fe037fe6efb41e5b8964","scripts":{"test":"echo 'No test'","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"11.5.1","description":"JS build tools: tsconfigs, templates, scripts and CI workflows","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.4.2_1755428757918_0.6102132197526602","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@paulmillr/jsbt","version":"0.4.3","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.4.3","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"72c7b92f9f2f8b26452a939f3d2e87fcaa915dad","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.4.3.tgz","fileCount":14,"integrity":"sha512-kYl27TZlHbz0WqanEuq6clXyDLmik3+rmIry1zwA1sismxDSK+/HcroJTUag0SHvc1kGF67RS1pHYYueM4pHWg==","signatures":[{"sig":"MEYCIQD5yqqSGuSW7XflnZmVPaW/Q3fJgdukZEDBkmPMBsELEgIhAJbqNjgeYy9zfYFyyJeqH0WI+zH42AEf5yRc4KVFgHAg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51976},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","gitHead":"b30c553f4884c340dd40d68fe1b97e4b662e4665","scripts":{"test":"echo 'No test'","build":"tsc -p tsconfig.example.json","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"11.5.1","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"3.6.2","typescript":"5.9.2","@types/node":"24.2.1"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.4.3_1755517301767_0.5185132745529921","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@paulmillr/jsbt","version":"0.4.4","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.4.4","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"b98dd016e73941645a9aa476a1945f8bca2d14b4","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.4.4.tgz","fileCount":14,"integrity":"sha512-aYXEUKwGSkGL/LSmjD9ujf0elquGb1mU048FIqpYudbkz/hTwF8qnEa8gMxnT/ztJQOC8Z+sjWj72WiJO/eCUA==","signatures":[{"sig":"MEQCICQhiYyVMdfSE0JQIomkdaeNmvjVgz4fKaTMr2qKaXqIAiB2jNQ2La9pDrcbPxJ0gyiHGji/K5kzKFB3zSeY/4ndhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52063},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","gitHead":"9d2a1d7f87d4e16f7f97123be2a57c1134c2d393","scripts":{"test":"echo 'No test'","build":"tsc -p tsconfig.example.json","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"11.5.1","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"3.6.2","typescript":"5.9.2","@types/node":"24.2.1"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.4.4_1756132319494_0.44270004325358614","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@paulmillr/jsbt","version":"0.4.5","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.4.5","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js"},"dist":{"shasum":"8fd0b30eb20acbc202f5b191298622c026089ce5","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.4.5.tgz","fileCount":14,"integrity":"sha512-T8874MAeO7Qf/TzDnord+bhRhI0DpotFpX+smB3ZS/f2ILcTkUJtRvPqrmaibgD4cZQSn/WYttEFFd5rtPcdlg==","signatures":[{"sig":"MEUCIQCC9ryGF5w5rGyNONglTgTuGNIwemFNSfEbcaTgd92HOwIgcEktAp4vOR0Wf9+xemsGYirdIFcgCTqeFEVrXGHfkTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56720},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","gitHead":"570adcfe0ed96b477bb9b35400fb43fd9406fb47","scripts":{"test":"echo 'No test'","build":"tsc -p tsconfig.example.json","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7255ebdd-5b8c-41e9-bdf8-1db6b933f104"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"11.6.1","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"3.6.2","typescript":"5.9.2","@types/node":"24.2.1"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.4.5_1763843839266_0.3924220844630375","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@paulmillr/jsbt","version":"0.5.0","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.5.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.bin.js"},"dist":{"shasum":"399d9b0d654c5041571ae68b26b7fa59bbf86991","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.5.0.tgz","fileCount":13,"integrity":"sha512-rJwIJ/DJ6PNafw74qYOnbZookNRKtQkqw62gS5vvQyS8YvZ8C/U10jSD93XTFkMG8+k3jVL7kaghLYZ7ES7UrA==","signatures":[{"sig":"MEUCIQDwToSjWnb6dgFU/v+SXlUvZixMUMY5eez4hK9wUsyeZAIgKcRZbmQ5TMImeH5Yo/oLc5/6ZCl6G1bL7Qv7kA3xVZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":448353},"main":"jsbt.bin.js","type":"module","types":"jsbt.d.ts","module":"jsbt.bin.js","gitHead":"8a0e8bacab177cbe72ee412345d42331cfc0a261","scripts":{"test":"echo 'No test'","build":"tsc -p tsconfig.example.json && esbuild src/jsbt.ts --bundle --platform=node --format=esm --target=node22 --define:__JSBT_BUNDLE__=true --banner:js='#!/usr/bin/env node' --outfile=jsbt.bin.js","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7255ebdd-5b8c-41e9-bdf8-1db6b933f104"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"11.6.1","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.25.10","prettier":"3.6.2","typescript":"5.9.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.5.0_1774272633046_0.934103854871378","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@paulmillr/jsbt","version":"0.5.1","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.5.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.bin.js"},"dist":{"shasum":"0d5d7d5c6ce0f89cdc0be1839c3b1de180e11b7e","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.5.1.tgz","fileCount":13,"integrity":"sha512-elZnAk9j5ojcTIJlyYX4OalK+aJAAfwRC/C/o1fUpNxdU7YxphoWZpoPxIDvscJwnAc17jptKGHun+K8KzCkbw==","signatures":[{"sig":"MEUCIGRKKJzV2OUF1JuEMH2D1urBNDgPKtrPn1iJf7Z+j/5mAiEA+PpnCRiud1Lwhae2TOoTA2CMnZQ/jcepfSwWLmyC5Uo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":616614},"main":"jsbt.bin.js","type":"module","types":"jsbt/index.d.ts","module":"jsbt.bin.js","gitHead":"9a270529fbbc31451aee938da7dad227ba87f828","scripts":{"test":"echo 'No test'","build":"tsc -p tsconfig.example.json && npm run bundle:bin && chmod +x jsbt.bin.js","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"npm run bundle -- --define:__JSBT_BUNDLE__=true --outfile=jsbt.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"11.16.0","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.25.10","prettier":"3.6.2","typescript":"5.9.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.5.1_1781019302483_0.8839241471574864","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@paulmillr/jsbt","version":"0.5.2","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.5.2","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.bin.js"},"dist":{"shasum":"bc41752ef10d41929b1971b7e4e4789bb92704e7","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.5.2.tgz","fileCount":13,"integrity":"sha512-w2iZV2CnQIockK8PBebRyQursxHh+6377f4ewfiqYLEEiMBiKUCHcyFNfamnvaKE53hPu3FmFEbG2dKrU2rCYQ==","signatures":[{"sig":"MEUCIHzAx4IjRdEnYtKNU5roE/zBC+HMUDeN8CPcWDuEEnl3AiEA2oDB9N/49JAyeaqnHn2BoVgK79CSYhHNn1cWYVQ+fWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617820},"main":"jsbt.bin.js","type":"module","types":"jsbt/index.d.ts","module":"jsbt.bin.js","gitHead":"3b6bf563e416e9c6047db19410988922084e1e92","scripts":{"test":"node --experimental-strip-types test/index.ts","build":"tsc -p tsconfig.example.json && npm run bundle:bin && chmod +x jsbt.bin.js","clean":"node --experimental-strip-types test/jsbt/clean.ts","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"npm run bundle -- --define:__JSBT_BUNDLE__=true --outfile=jsbt.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"11.16.0","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.25.10","prettier":"3.6.2","typescript":"5.9.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.5.2_1781047542110_0.6926781031174689","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@paulmillr/jsbt","version":"0.6.0","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.6.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.bin.js"},"dist":{"shasum":"6f14558b8b8f01a437bae203098e785bf849440f","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.6.0.tgz","fileCount":13,"integrity":"sha512-Gbp2HuiXQz6gEvXgOoJxUiAu4T1eA4ztIz2nCWfyIVBB7EOFkhAZxxdPM6p2Riu0XrgCZ0zr1wLN0cv45K/YLw==","signatures":[{"sig":"MEQCIEwDQVPZOZuxCoMf/ZzkJwBLa7C7k6f9ve57qqKZf7SWAiB1oF/bvVUZfhH0enPAzEAciFVKMwS4NXNfIuPPc9ZArA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":647275},"main":"jsbt.bin.js","type":"module","types":"jsbt/index.d.ts","module":"jsbt.bin.js","gitHead":"7c25cb0b5eadac32bfedbb3b60ca0bd4289791f1","scripts":{"test":"node test/index.ts","build":"tsc -p tsconfig.example.json && npm run bundle:bin && chmod +x jsbt.bin.js","clean":"node test/jsbt/clean.ts","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"npm run bundle -- --define:__JSBT_BUNDLE__=true --outfile=jsbt.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"11.17.0","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.28.1","prettier":"3.6.2","typescript":"6.0.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.6.0_1782173248131_0.8098444839312582","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@paulmillr/jsbt","version":"0.6.1","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.6.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.bin.js"},"dist":{"shasum":"62bd9a7c9f8a4bdb981cfd1909a8170261a53a54","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.6.1.tgz","fileCount":13,"integrity":"sha512-e3U7N9mPVWUiIZtmMTEAD1w4PcMrS7mEge7R4Q7EiAW2UZK/eqURHjwuvgIW+V64u8jyfMq1mJREB/8Ieh6kcw==","signatures":[{"sig":"MEYCIQCSvKIGwrYrYzr86Zs/HL7pOewPaojJm3Or0OCxQkD8cwIhAK2/+G8ZcZa4jiHJAWyGK7/z4Pi657NCOjhhxXCYexNc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":654512},"main":"jsbt.bin.js","type":"module","types":"jsbt/index.d.ts","module":"jsbt.bin.js","gitHead":"c763d6f2ae0aa199198883ede4c1ee3477db57cf","scripts":{"test":"node test/index.ts","build":"tsc -p tsconfig.example.json && node --run bundle:bin && chmod +x jsbt.bin.js","clean":"node test/jsbt/clean.ts","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"node --run bundle -- --define:__JSBT_BUNDLE__=true --outfile=jsbt.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"11.17.0","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.28.1","prettier":"3.6.2","typescript":"6.0.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.6.1_1783306691863_0.7296566742251214","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@paulmillr/jsbt","version":"0.6.2","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.6.2","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.js","jsbt-check":"jsbt-check.bin.js"},"dist":{"shasum":"d03426ea2b7721be062a2cb8aea9f328e5bcb565","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.6.2.tgz","fileCount":19,"integrity":"sha512-UpLane4rOiP8DgDuNHa4cOcTVZ2XfhCDcI99QFAq+vVuXtVe1bttkuCmYQlmKlZoIReaMS/+dQ4RbTfyC+QgAw==","signatures":[{"sig":"MEYCIQDOpIXQxpi7DtFocwptMNDlLwgc8H7D418zDHsVluzjLAIhAK6iGpGKrCMh6ALyne9s4Ov94fYfRNQfAyksb55cK9hD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":736398},"main":"jsbt.js","type":"module","types":"jsbt.d.ts","module":"jsbt.js","gitHead":"e7792651088ad10a04fd63f76760a3465cc5c076","scripts":{"test":"node test/index.ts","build":"tsc -p tsconfig.example.json && node --run bundle:check && chmod +x jsbt.js jsbt-check.bin.js","clean":"node test/jsbt-check/clean.ts","bundle":"esbuild --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","test:check":"node test/check.ts","bundle:check":"node --run bundle -- src/jsbt-check/check.ts --define:__JSBT_BUNDLE__=true --define:__JSBT_BIN__='\"jsbt-check\"' --outfile=jsbt-check.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"12.0.2","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.28.1","prettier":"3.6.2","typescript":"6.0.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.6.2_1785902234980_0.32910008584553063","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@paulmillr/jsbt","version":"0.6.3","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.6.3","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt":"jsbt.bin.js"},"dist":{"shasum":"7ce171be58f85a66b5d63cad8d80fe555196e5ef","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.6.3.tgz","fileCount":9,"integrity":"sha512-r5KQq6WEBCd0e/CKqBDHdIXPg0MUBdrLiH3M1+f9Q8udsluuG1tAaKOpYCzjH9P8updytrp/G4EjYCdSro/gPg==","signatures":[{"sig":"MEUCIHeHeAmwEoPjQ6HGjOXHGJvA/ECwadF9EpdWbyyULev1AiEA17aL4e1JPJoNd6JHr9VRWzHAX42I/M388vmpQCiqJXo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":608434},"main":"jsbt.bin.js","type":"module","types":"jsbt/index.d.ts","module":"jsbt.bin.js","gitHead":"f84dabff63d04b7238c79bbcc0777e50f1e4dd41","scripts":{"test":"node test/index.ts","build":"tsc -p tsconfig.example.json && node --run bundle:bin && chmod +x jsbt.bin.js","clean":"node test/jsbt/clean.ts","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"node --run bundle -- --define:__JSBT_BUNDLE__=true --outfile=jsbt.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"12.0.2","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.28.1","prettier":"3.6.2","typescript":"6.0.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.6.3_1785986393735_0.3949869274344009","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@paulmillr/jsbt","version":"0.6.4","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.6.4","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt-check":"jsbt-check.bin.js"},"dist":{"shasum":"85b7edf143320c6c16fac23611e7297e42babfef","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.6.4.tgz","fileCount":13,"integrity":"sha512-emRWOmq6jBhcWXTu7bUgKINVZKAISQ6wGEYqe+y2BxIUb4+bttgVQLzJ9g/uNqNpER6fOPGX7SdDcAHb2zTOZg==","signatures":[{"sig":"MEYCIQCj+HhtnSJ3YsjrlZbWbyXEifd0JecRjAATSREAbRGa+wIhAKnJoDI8Cr02IMW/ToyeJPkFQ8TpqM2AjY1IvQp0V9rR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.6.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":643974},"main":"jsbt-check.bin.js","type":"module","types":"jsbt/index.d.ts","module":"jsbt-check.bin.js","gitHead":"49ee24868ff385e7e0235544e6c26f6436fb72e8","scripts":{"test":"node test/index.ts","build":"tsc -p tsconfig.example.json && node --run bundle:bin && chmod +x jsbt-check.bin.js","clean":"node test/jsbt/clean.ts","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"node --run bundle -- --define:__JSBT_BUNDLE__=true --outfile=jsbt-check.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"12.0.2","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.28.1","prettier":"3.6.2","typescript":"6.0.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.6.4_1785990382167_0.3273145354104372","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@paulmillr/jsbt","version":"0.6.5","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.6.5","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt-check":"jsbt-check.bin.js"},"dist":{"shasum":"45ef3e1b73f0cfce0a4def2fbc4e0a36e6f570db","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.6.5.tgz","fileCount":13,"integrity":"sha512-VqPMGisswko7fV9lNdkr8+R1glm2g3Zs6+T00Z6p30LdjyPE1w/KPGh6DEgAk6LI3o2lc5WTqcvVw8AmsB4EVQ==","signatures":[{"sig":"MEQCIFTyUCTl5t2BgrlRyqtcBHsO/sxnHf9tD9ZgeqCGsTy8AiBufYXzNZxdjBONoo05nnXDQ6GLRB/eqEv1fulKSoeLEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.6.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":645265},"main":"jsbt-check.bin.js","type":"module","types":"jsbt/index.d.ts","module":"jsbt-check.bin.js","gitHead":"5320e209ca8cc9b1b0b569675e164bdd2a139d71","scripts":{"test":"node test/index.ts","build":"tsc -p tsconfig.example.json && node --run bundle:bin && chmod +x jsbt-check.bin.js","clean":"node test/jsbt/clean.ts","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"node --run bundle -- --define:__JSBT_BUNDLE__=true --outfile=jsbt-check.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"12.0.2","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.28.1","prettier":"3.6.2","typescript":"6.0.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.6.5_1785992126956_0.4992476085947186","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@paulmillr/jsbt","version":"0.7.0","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.7.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt-check":"jsbt-check.bin.js"},"dist":{"shasum":"982a426d839d05961901a617804d8f4f0e9d54ec","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.7.0.tgz","fileCount":13,"integrity":"sha512-UTPh30evt1SBQnaiIIEAVN8a1ii9Xzof5oCwqW0LRmTHe2fCjiaME/9lbwtnEQ3rijlnH5xgPNgSL4MJcV/y8A==","signatures":[{"sig":"MEUCIQCwbQFGc4hOocDthmmFz9i3xMQVdzJeRiFEcW/J6hb5DwIgdCCxu1uIxyLhQ1yFvDf+KX5bEYdSKkr/55tykjzDxSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":777966},"main":"jsbt-check.bin.js","type":"module","types":"jsbt/index.d.ts","module":"jsbt-check.bin.js","gitHead":"78e04b481416536e0d4369a3c9f718be306491f8","scripts":{"test":"node test/index.ts","build":"tsc -p tsconfig.example.json && node --run bundle:bin && chmod +x jsbt-check.bin.js","clean":"node test/jsbt/clean.ts","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"node --run bundle -- --define:__JSBT_BUNDLE__=true --define:__BISMAR_BUNDLE__=true --outfile=jsbt-check.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"12.0.2","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"bismar":"0.1.8","typescript":"6.0.3"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.28.2","prettier":"3.6.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.7.0_1786685230308_0.8036118225160809","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@paulmillr/jsbt","version":"0.7.1","keywords":["js","tsconfig","build","tool","ci","esbuild"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@paulmillr/jsbt@0.7.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/jsbt#readme","bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"bin":{"jsbt-check":"jsbt-check.bin.js"},"dist":{"shasum":"d8ce73ab05221e3b649b40369cab0172160faadb","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.7.1.tgz","fileCount":13,"integrity":"sha512-v6OsD1LOpAALat6MDT/hcyEGWzly8t8rSEF//2CVhV7aFyQ4EMVkWpPXh0OFO0z+SLXMHX1K0XdxWPrU5Rk+pw==","signatures":[{"sig":"MEQCIEYuL2lbkYFAAvEWbNj87QYReA9oNIKqUHjTfdl162+9AiB7MS8Tu6ZfV/jozJQSmoGuqEaEjH6O8AO7r1LjTOxOVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":792241},"main":"jsbt-check.bin.js","type":"module","types":"jsbt/index.d.ts","module":"jsbt-check.bin.js","gitHead":"c138efca67d90dce86a7cc22c01d6b66d193ea7a","scripts":{"test":"node test/index.ts","build":"tsc -p tsconfig.example.json && node --run bundle:bin && chmod +x jsbt-check.bin.js","clean":"node test/jsbt/clean.ts","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"node --run bundle -- --define:__JSBT_BUNDLE__=true --define:__BISMAR_BUNDLE__=true --outfile=jsbt-check.bin.js --banner:js='#!/usr/bin/env node'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"paulmillr","email":"paul@paulmillr.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"}},"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"12.0.2","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"bismar":"0.1.8","typescript":"6.0.3"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"0.28.2","prettier":"3.6.2","@types/node":"24.2.1","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/jsbt_0.7.1_1787320634672_0.7947964827713547","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"_id":"@paulmillr/jsbt@0.7.2","bin":{"jsbt-check":"jsbt-check.bin.js"},"bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"dist":{"shasum":"faaca9ea8371398422d8bc0ab2a92fbb35b0e5e7","tarball":"https://registry.npmjs.org/@paulmillr/jsbt/-/jsbt-0.7.2.tgz","integrity":"sha512-7F85W3k7K2k7kjfSC8BKXQniu3LwLo+Toaj8wFcz8lO3jJ025taaTn5rCxaT2xjB9usNnJ0Jndi8sNSfFuXixw==","fileCount":15,"unpackedSize":822386,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@paulmillr%2fjsbt@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHJ89LFmK/3aTG1XvY6IxR5mo+38w1GjkTrT+rqnkxkWAiAkgC3zaW4qjffp1m9CUu/9zzC3qojrZ7kwr7TK7ZV6Kw=="}]},"main":"jsbt-check.bin.js","name":"@paulmillr/jsbt","type":"module","types":"jsbt/index.d.ts","author":{"url":"https://paulmillr.com","name":"Paul Miller"},"module":"jsbt-check.bin.js","gitHead":"84f47b72e990ae11999fbe06c3efa449e943de60","license":"MIT","scripts":{"test":"node test/index.ts","build":"tsc -p tsconfig.example.json && node --run bundle:bin && chmod +x jsbt-check.bin.js","clean":"node test/jsbt/clean.ts","bundle":"esbuild src/jsbt/index.ts --bundle --platform=node --format=esm --target=node22","format":"npx prettier --write src","test:bun":"echo 'No bun'","test:deno":"echo 'No deno'","bundle:bin":"node --run bundle -- --define:__JSBT_BUNDLE__=true --define:__BISMAR_BUNDLE__=true --outfile=jsbt-check.bin.js --banner:js='#!/usr/bin/env node'"},"version":"0.7.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f7b02bf-f8d6-4085-94c8-49b005da37a5"},"approver":{"name":"paulmillr","email":"paul@paulmillr.com"}},"homepage":"https://github.com/paulmillr/jsbt#readme","keywords":["js","tsconfig","build","tool","ci","esbuild"],"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"_npmVersion":"12.0.2","description":"JS Build Tools: build, benchmark, test libs and apps","directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"bismar":"0.1.9","typescript":"6.0.3"},"devDependencies":{"esbuild":"0.28.2","prettier":"3.9.6","@types/node":"26.3.0","@microsoft/tsdoc":"0.16.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsbt_0.7.2_1788107707546_0.8024270553808162"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-17T11:34:59.640Z","modified":"2026-08-30T16:35:07.914Z","0.1.0":"2024-03-17T11:34:59.841Z","0.2.0":"2024-06-27T10:55:14.619Z","0.2.1":"2024-07-01T15:25:58.694Z","0.3.0":"2025-01-18T01:20:30.648Z","0.3.1":"2025-01-18T05:31:50.477Z","0.3.2":"2025-03-01T00:06:22.546Z","0.3.3":"2025-03-01T00:36:06.072Z","0.3.4":"2025-05-14T09:32:55.735Z","0.4.0":"2025-05-14T09:45:42.609Z","0.4.1":"2025-05-29T14:16:13.447Z","0.4.2":"2025-08-17T11:05:58.118Z","0.4.3":"2025-08-18T11:41:41.941Z","0.4.4":"2025-08-25T14:31:59.670Z","0.4.5":"2025-11-22T20:37:19.485Z","0.5.0":"2026-03-23T13:30:33.208Z","0.5.1":"2026-06-09T15:35:02.665Z","0.5.2":"2026-06-09T23:25:42.199Z","0.6.0":"2026-06-23T00:07:28.248Z","0.6.1":"2026-07-06T02:58:11.954Z","0.6.2":"2026-08-05T03:57:15.156Z","0.6.3":"2026-08-06T03:19:53.826Z","0.6.4":"2026-08-06T04:26:22.267Z","0.6.5":"2026-08-06T04:55:27.071Z","0.7.0":"2026-08-14T05:27:10.423Z","0.7.1":"2026-08-21T13:57:14.776Z","0.7.2":"2026-08-30T16:35:07.647Z"},"bugs":{"url":"https://github.com/paulmillr/jsbt/issues"},"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","homepage":"https://github.com/paulmillr/jsbt#readme","keywords":["js","tsconfig","build","tool","ci","esbuild"],"repository":{"url":"git+https://github.com/paulmillr/jsbt.git","type":"git"},"description":"JS Build Tools: build, benchmark, test libs and apps","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"readme":"# @paulmillr/jsbt\n\n> JS Build Tools\n\nZero-dependency helpers for secure JS apps, used by [noble cryptography](https://paulmillr.com/noble/).\n\n1. [test](#test) 500-line simplicity with mocha-like syntax and parallelism\n2. [benchmark](#benchmark) with nanosecond resolution\n3. [random](#random) micro property-based testing with shrinking and replayable failures\n4. [CLI](#cli) to check project for common mistakes\n5. [workflows](#workflows) for GitHub CI actions for test / npm+jsr publish\n6. [tsconfig](#tsconfig) with strict, doc-friendly, with type stripping\n\n## Usage\n\n> `npm install @paulmillr/jsbt`\n\n> `jsr add jsr:@paulmillr/jsbt`\n\n## 1. test\n\nSmall test runner with familiar `describe` / `it` mocha-like syntax, explicit execution, and\noptional parallelism. Compatible with `node --test`.\n\nBenefit over other test frameworks: NO code injection, due to runWhen().\n\nRun a project test entrypoint with node:\n\n```\nnode test/index.ts\n\nJSBT_WORKERS=auto node test/index.ts # default mode\nJSBT_WORKERS=3 node test/index.ts # use 3 cores\nJSBT_WORKERS=50% node test/index.ts # use 50% of cores\nJSBT_QUIET=1 node test/index.ts # quiet mode\nJSBT_BAIL=0 node test/index.ts # don't stop after first fail\nJSBT_FILTER=math/adds node test/index.ts # run specific test(s)\nJSBT_DEBUG=1 node test/index.ts # print 10 slowest tests + median test time\n```\n\n```js\nimport { deepStrictEqual } from 'node:assert';\nimport { beforeEach, describe, it } from '@paulmillr/jsbt/test.js';\n\ndescribe('math', () => {\n  let value = 0;\n\n  beforeEach(() => {\n    value = 2;\n  });\n\n  it('adds', () => {\n    deepStrictEqual(value + 2, 4);\n  });\n  it('works with async code', async () => {\n    deepStrictEqual(await Promise.resolve(value * 3), 6);\n  });\n\n  // modes\n  it.skip('documents known gaps without running them', () => {\n    deepStrictEqual(true, false);\n  });\n  it.only('runs this one test', () => {\n    deepStrictEqual(5, 5);\n  });\n  it.serial('always runs in non-parallel mode', () => {\n    console.log('io-friendly method');\n  })\n});\n\nit.runWhen(import.meta.url);\n```\n\n## 2. benchmark\n\nLightweight benchmark helpers with nanosecond timing, terminal-friendly output, throughput units,\nand a matrix runner for comparing libraries, algorithms, platforms, input sizes, and other\ndimensions.\n\n### benchmark\n\nUse `bench` for simple one-line measurements:\n\n```js\nimport bench from '@paulmillr/jsbt/benchmark.js';\n\nconst data = new Uint8Array(1024 * 1024);\nconst processBlock = () => data[0];\n\nawait bench('sqrt', () => Math.sqrt(2));\nawait bench('copy 1MiB', () => data.slice(), { bytes: data.byteLength });\nawait bench('blocks', () => processBlock(), { throughput: { amount: 16, unit: 'blocks' } });\n```\n\nOptions:\n\n- `bytes`: bytes processed by one benchmark iteration; output is `b/sec`, `kib/sec`, `mib/sec`,\n  or `gib/sec`.\n- `throughput`: custom units processed by one iteration, for example `{ amount: 16, unit: 'blocks' }`.\n- `maxRunTimeSec`: per-benchmark runtime, from `0.1` to `60` seconds; defaults to `0.4`.\n  Every measured run first performs an untimed warmup lasting one quarter of this duration.\n- `mode: 'time'`: print aggregate mean duration per operation.\n- `mode: 'latency'`: print p50, p95, and p100 (maximum) latency.\n- `mode: 'once'`: run one measurement and print only elapsed time. `runOnce` remains an alias.\n- `section('math')` named export: print `# math` in text output and prefix CSV names as\n  `math; <name>`. `section()` or `section('')` disables the prefix.\n- `JSBT_CSV=1` forces CSV output. CSV prints `name,nanoseconds` by default, or\n  `name,<unit>/sec` for `bytes` and `throughput`, and is also the default when color\n  output is disabled.\n\nExample output:\n\n```\nsqrt x 6,072 ops/sec @ 164 μs/op\ncopy 1MiB x 1,420 mib/sec\nblocks x 92,400 blocks/sec\n```\n\n### benchmark-compare\n\nUse `benchmark-compare` for benchmark matrices. Static dimensions provide benchmark arguments; nested\nlibrary objects provide dynamic dimensions.\n\n```js\nimport compare from '@paulmillr/jsbt/benchmark-compare.js';\n\nconst sizes = {\n  '1KB': new Uint8Array(1024),\n  '1MiB': new Uint8Array(1024 * 1024),\n};\n\nconst libraries = {\n  js: (buf) => buf.slice(),\n  native: (buf) => Buffer.from(buf),\n};\n\nawait compare('copy', { size: sizes }, libraries, {\n  bytes: ({ args }) => args[0].byteLength,\n});\n```\n\nCommon options:\n\n- `libraryDimensions`: names for nested library levels; defaults to `['name']`.\n- `defaults`: fixed dimension values that should not vary in the table.\n- `dimensions`: explicit dimension order and subset.\n- `filter`: comma-separated match terms; `a|b,c` means `(a or b) and c`.\n- `filterObj`: predicate for filtering generated benchmark cases.\n- `mode`: `normal` for aggregate throughput, `time` for aggregate mean duration, or\n  `latency` for p50/p95/p100 latency; may be selected per case with a function.\n  Every non-dry case is warmed independently for one quarter of its measurement time.\n- `iterations`: repeats one measured operation and reports per-iteration timing.\n- `patchArgs`: rewrites generated benchmark arguments before calling a library function.\n- `bytes`, `throughput`, `metrics`: add throughput or custom metric columns.\n- `loadRun`, `skipThreshold`, `printUnchanged`: compare against a saved previous run.\n- `format`: `table` or `csv`; table is the default when colors are enabled, CSV otherwise.\n\nENV variables:\n\n- `FILTER` selects cases by substring-matching dimension values: `FILTER=sha256,1MB`\n  requires every comma term to match some dimension; the scoped form\n  `FILTER='algorithm=sha3_256;library=awasm,noble'` pins terms to a dimension,\n  with commas as alternatives.\n- `JSBT_BENCHMARK_DIMENSIONS=algorithm,size,name` changes dimension order or visible dimensions.\n- `JSBT_BENCHMARK_DRY_RUN=1` prints the selected matrix without measuring.\n- `JSBT_CSV=1` forces CSV output.\n\n## 3. random\n\nMicro property-based testing: seeded generators with edge-case bias, counterexample\nshrinking, and replayable failures. Also exports deterministic PRNG helpers for benchmarks.\n\n```js\nimport * as random from '@paulmillr/jsbt/random.js';\n\nconst mod = (n) => ((n % 13n) + 13n) % 13n;\nrandom.assert(\n  random.property(random.bigint(1n, 12n), random.bigint(1n, 12n), (a, b) => {\n    return mod(a * b) === mod(b * a);\n  })\n);\n```\n\nEach `assert` runs the predicate `numRuns` times (default 100) with fresh random inputs.\nA predicate fails by returning `false` or throwing. On failure, the inputs are shrunk to a\nminimal counterexample and an error is thrown with a replayable `{ seed, path }`:\n\n```\nProperty failed after 5 runs and 12 shrinks { seed: \"0x92b21f0e5830f4c7\", path: 4 }\nCounterexample: [0n, 3n]\nPredicate returned false\n```\n\nReplay just the failing run with `random.assert(prop, { seed: '0x92b21f0e5830f4c7', path: 4 })`.\n\nArbitraries (value generators):\n\n- `int({ min, max })` integer; defaults to signed 32-bit range. Shrinks toward 0.\n- `bigint(min, max)` or `bigint({ min, max })` bigint; defaults to ±2^256. Shrinks toward 0.\n- `array(item, { minLength, maxLength })` array of values from `item`; length defaults to [0, 10].\n- `bytes({ minLength, maxLength })` Uint8Array; length defaults to [0, 64].\n- `string({ unit, minLength, maxLength })` string of `unit`s; default unit is a printable ASCII char.\n- `tuple(...arbitraries)` fixed-length tuple, one arbitrary per position.\n- `arb.map(fn)` transforms generated values; shrinking happens in the source domain.\n- `arb.filter(predicate)` keeps matching values; throws if <1% of values match.\n\nEvery fourth run is biased toward edge cases: range bounds, zero, empty and constant-filled\narrays — inputs uniform sampling rarely hits.\n\nRunner:\n\n- `property(...arbitraries, predicate)` declares \"for all values, the predicate holds\".\n- `asyncProperty(...arbitraries, asyncPredicate)` same, for async predicates; run with `await assert(...)`.\n- `assert(prop, { numRuns, seed, path })` runs a property; options override the global config.\n- `config({ numRuns, seed })` merges options into the global config and returns a snapshot.\n\nDeterministic helpers, seeded by a number or a string label:\n\n- `makeRng(seed)` returns a `() => number` producing floats in [0, 1).\n- `shuffled(items, seed)` deterministic Fisher–Yates shuffle; returns a new array.\n- `pseudoRandomBytes(length, seed)` deterministic pseudo-random bytes. Constant or sequential\n  data can bias benchmarks (cache access patterns, branch prediction, memcmp fast paths);\n  same seed always produces the same bytes, keeping runs comparable across libraries.\n\n## 4. CLI\n\n`jsbt-check` CLI executes audit helpers.\n\n### check\n\nRuns opinionated code quality checks. Uses typescript parsing underneath.\nTemporary build artifacts are created in a per-run OS temp directory and removed after the summary.\n\nExample-running checks (`readme`, `tsdoc`, `errors`) execute examples in an isolated temp run\ndirectory. Its `node_modules` is assembled from symlinks — nothing is fetched at check time:\n\n- the checked package itself, installed under its own name;\n- the package's runtime `dependencies`, linked from the project's installed `node_modules`;\n- extra example-only imports allowed by `exampleDependencies` in a committed `.jsbtrc.json`\n  beside `package.json`, pinned to exact installed versions:\n\n```json\n{\n  \"exampleDependencies\": {\n    \"micro-packed\": \"0.7.3\"\n  }\n}\n```\n\nAn example importing anything else fails at run time with `ERR_MODULE_NOT_FOUND`, naming the\npackage but not the list it is missing from. When any check reports one, `jsbt-check` prints\na reminder about `exampleDependencies` once, after the last check.\n`jsbt-check --gen-config` fills the list in automatically from what the examples import.\n\n`esbuild` (importable by example code) is provided automatically and must not be listed: it\nis resolved from the project's `node_modules`, from the copy next to jsbt itself, or from a\nglobal install. If none is found, run `npm install -g esbuild`. The `size` selector measures\nthrough [bismar](https://github.com/paulmillr/bismar), which brings its own pinned esbuild.\n\nThe checks always parse and type-check with jsbt's own pinned `typescript`, never with the\none the checked project installs. The checks drive the JS compiler API directly, and a\nproject is free to depend on a TypeScript that does not expose it — the v7 native port is a\nGo rewrite with a different surface. Pinning one compiler also keeps verdicts identical\nacross repos, and lets `jsbt-check` run in a project with no `node_modules` of its own.\n\nChecks run against the package in the current directory; in a monorepo, `cd` into the\npackage first.\n\n```\njsbt-check\njsbt-check bigint\njsbt-check bytes\njsbt-check comments\njsbt-check errors\njsbt-check importtime\njsbt-check jsr\njsbt-check jsrpublish\njsbt-check mutate\njsbt-check patterns\njsbt-check readme\njsbt-check size\njsbt-check tsdoc\njsbt-check typeimport\n\njsbt-check --ignore=readme,tsdoc\njsbt-check --gen-config\n```\n\n`--ignore=<a,b>` skips the listed selectors; it accepts the same names as the selector\nargument and errors if nothing would be left to run.\n\nThe one non-check mode is `--gen-config`, which writes `.jsbtrc.json` instead of auditing:\nit scans runnable README fences and TSDoc `@example` blocks for imports that neither\n`dependencies` nor `exampleDependencies` allow yet, and adds them to `exampleDependencies`\npinned to the exact installed versions. Existing entries are hand-set and never touched, and\nthe rest of the file carries over unchanged. It is a mode of its own rather than a flag on a\ncheck: it runs no checks, takes no selector, and is the one `jsbt-check` invocation that\nwrites to the package directory.\n\nWith `\"check\": \"jsbt-check\"` in `package.json` scripts, selectors can be run through npm:\n\n```\nnpm run check bigint\nnpm run check bytes\nnpm run check comments\nnpm run check errors\nnpm run check importtime\nnpm run check jsr\nnpm run check jsrpublish\nnpm run check mutate\nnpm run check patterns\nnpm run check readme\nnpm run check size\nnpm run check tsdoc\nnpm run check typeimport\n```\n\nSelector summary for `jsbt-check <selector>`:\n\n- `bigint`: find BigInt compatibility hazards in public runtime files.\n- `bytes`: inspect byte/typed-array API surface and TypeScript-version compatibility.\n- `comments`: enforce comments and release-facing source annotations.\n- `errors`: verify documented thrown errors against runtime probes.\n- `importtime`: measure public entry import time and flag slow imports.\n- `jsr`: validate JSR package metadata, exports, imports, and publish graph.\n- `jsrpublish`: run stricter JSR publish-readiness checks.\n- `mutate`: detect mutation hazards in public runtime behavior.\n- `patterns`: report source patterns that are risky for published packages.\n- `readme`: type-check and run runnable README examples.\n- `size`: audit release bundles for retained unused code and enforce `sizeLimits` budgets.\n- `tsdoc`: audit public declaration docs and examples.\n- `typeimport`: verify imports that should be type-only.\n\n#### size limits\n\n`jsbt-check size` measures release bundles with\n[bismar](https://github.com/paulmillr/bismar) — the same engine behind `bismar --size` and\n`bismar -bs` — then audits them for unused locals that survived bundling and enforces the\ngzip budgets in `sizeLimits`:\n\n```json\n{\n  \"sizeLimits\": {\n    \"index.js\": \"8kb\",\n    \"index.js/add\": 4096,\n    \"index.js/sign index.js/verify\": \"6kb\"\n  }\n}\n```\n\nKeys are `bismar --size` selectors; values are bytes (`4096`) or a kb string (`\"4kb\"`,\n1kb = 1024). A space-separated key budgets the combined bundle of all its selectors — their\ncost when imported together, with shared code counted once. Only local modules and exports\ncan be budgeted.\n\nThe check itself prints no stats. To debug an over-budget entry, ask bismar directly:\n`bismar -bs <selector...>` for the numbers, `bismar <selector> > out.js` for the measured\nbundle bytes.\n\n## 5. Workflows\n\nSecure GitHub CI configs for testing & publishing JS packages.\n\nThe files reside in `.github/workflows`:\n\n- `test.yml`: reusable/manual test workflow for Node 22, 24, 26, Bun, and Deno. It runs\n  `npm run build --if-present`, `npm test`, optional `test:tsc` on Node 26, optional `test:bun`,\n  and optional `test:deno`. Inputs: `submodules` and `runs-on`.\n- `test-matrix.yml`: reusable/manual Node matrix across Node 22, 24, 26 on `ubuntu-24.04-arm`,\n  `macos-latest`, and `windows-latest`.\n- `test-custom.yml`: reusable Node 26 workflow for one custom npm task, defaulting to `test:slow`.\n- `release.yml`: release/reusable/manual publisher for NPM, and JSR when `jsr.json` exists. It\n  uses OIDC Trusted Publishing, disables package-manager cache, runs `npm ci`, builds when present,\n  verifies package/tag versions, dry-runs NPM publish, validates JSR version, and publishes through\n  `npm stage publish --access public`.\n\nYou can copy them, or depend on them directly:\n\n```yaml\nname: jsbt 0.5.2\non:\n  push:\n  pull_request:\njobs:\n  test:\n    uses: paulmillr/jsbt/.github/workflows/test.yml@0.5.2\n```\n\nFor releases, configure NPM Trusted Publishing for the package first:\n\n```yaml\nname: Publish release\non:\n  release:\n    types: [created]\njobs:\n  publish:\n    uses: paulmillr/jsbt/.github/workflows/release.yml@0.5.2\n    permissions:\n      contents: read\n      id-token: write\n```\n\n## 6. tsconfig\n\nStrict typescript v6+ configs, friendly to type stripping. Uses `isolatedDeclarations` and `verbatimModuleSyntax`\nto ensure node.js is able to natively run typescript files without compilation.\n\nThere are two files: `tsconfig.json` and `tsconfig.test.json` (looser, for tests).\n\nInheritable in the following way:\n\n```json\n{\n  \"extends\": \"@paulmillr/jsbt/tsconfig.json\",\n  \"compilerOptions\": {\n    \"rootDir\": \"src\",\n    \"outDir\": \".\"\n  },\n  \"include\": [\"src\"],\n  \"exclude\": [\"node_modules\"]\n}\n```\n\n## License\n\nMIT License\n","readmeFilename":"README.md"}