{"_id":"@aletheia-ios/tools","_rev":"12-30b5e47fa2ca99d88e1e1d427c165f72","name":"@aletheia-ios/tools","dist-tags":{"latest":"0.5.3"},"versions":{"0.1.0":{"name":"@aletheia-ios/tools","version":"0.1.0","license":"MIT","_id":"@aletheia-ios/tools@0.1.0","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"0713f1232d11738b71dedc34b74e3930f4759950","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.1.0.tgz","fileCount":12,"integrity":"sha512-MCMbaXs4MZbDfR6d3doIs/oVKjoY18Cqc00arUHqbkQ+cRaKKgHqtele9WIOo6lq3A5SnEJv0QiP2F+yQzBTdQ==","signatures":[{"sig":"MEYCIQDTAOXdBDym2ioZoXJ+6I9qachCaX1qBYC1xsvvrTZrQgIhAPpQ4+B2U/CrAnHYQrlgD0bicNk58mox0733/GaevFpD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47737},"type":"module","engines":{"node":">=22"},"gitHead":"0c17a631ef30c9bdef8b75ec21bc70e927412007","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc"},"_npmUser":{"name":"shiroies","email":"angelocarasig15@gmail.com"},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"11.5.1","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","@aletheia-ios/sdk":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.1.0_1788606790233_0.6392980852926173","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aletheia-ios/tools","version":"0.2.0","license":"MIT","_id":"@aletheia-ios/tools@0.2.0","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"23f1b799f7761d5e2d1bb19edd06ebb3a0fb96ea","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.2.0.tgz","fileCount":12,"integrity":"sha512-6NYAF84q6RwaNd29ZI3y/nBqC2oMlXz2n5D/ZBse715Li8JOrsFLo/wmIRcJA4LDiIXXT0JTSCo/tbyNiXLUFw==","signatures":[{"sig":"MEUCIFJ1R9H6PNNQMPsf9p4oww2cyqldeVnpYCnH7EwQzkjpAiEAgKf8o6bgdGPkWo8XuGlEBSGz4FwM4Af/LHhPUvoUUlc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE25WaYo+/KSnlbVPpxOrIaZ+ZBZ7VS3OoKR/FuNkS+HAiEA8/a+/La4pVH0FKDn2Eq3yEx0GSDZVVa5JonIndZbVxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60770},"type":"module","engines":{"node":">=22"},"gitHead":"d8683f4649a238210a874509de8c82f5005a731d","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc"},"_npmUser":{"name":"shiroies","email":"angelocarasig15@gmail.com"},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"11.5.1","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.2.0_1788611750375_0.17810887443044598","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aletheia-ios/tools","version":"0.2.1","license":"MIT","_id":"@aletheia-ios/tools@0.2.1","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"d9db44d0f3bc44a7f501f831f290fb334f580ed8","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.2.1.tgz","fileCount":12,"integrity":"sha512-QIjMPjDodTIvW9V+nY+c7EQp+ubDaBiUYgIDhZqgDbi3OAOm3XTy126yFORr3SS7gIVuVP17IJ60rRllPCOw+Q==","signatures":[{"sig":"MEQCIGZ397szqStjyA+Hdy9QMa0b2pHsWtfL0ANSpjWmo2+MAiANncNtKlgNA3c3hybRzroQBOGvJff6hz0YYmJrGUjRrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFj06IJIG1D6l2wwFP08UQcR1zkxlPHdqcf/eooLZFbrAiAgLiSNWPOvQRQCBfQyFGSXHaqzjPyVNnUbYAUi5m5NNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61583},"type":"module","engines":{"node":">=22"},"gitHead":"8e425eeece5cf6e1e7094a20401a69687860080b","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.2.1_1788612591804_0.46172748446305745","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@aletheia-ios/tools","version":"0.2.2","license":"MIT","_id":"@aletheia-ios/tools@0.2.2","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"889a0f2cd8abab8eff050cc3c53942c755a2a555","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.2.2.tgz","fileCount":12,"integrity":"sha512-A0Z6lZ85uXfbQjyTVJPGgIQOTMJ0pM3mbEle7HoJcn2A5azqyrfg+G0WPGP++N9ZBQGBi4+xwUjW2gJmBq4Upg==","signatures":[{"sig":"MEUCIQCqO7khVCVyO3HquIhG/nmnQBMpj7v7fn+DNQYRIcRscgIgLjcHV/ZZ8fwTM1gvX7Y8Bz9E5ssj4/TgfrIpac3OwbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQClQ6JSh49MwMKWk/TMDhs4xRcfRJFqAzXwH1a03tUtoQIgQVD+NOxczviRZmdOejV02LpsE0ufs9Ay06gmsJerqCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62772},"type":"module","engines":{"node":">=22"},"gitHead":"97173a7d83c9a3b6322e96fabcc381d860eac4f0","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.2.2_1788613213268_0.12224233663975581","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@aletheia-ios/tools","version":"0.2.3","license":"MIT","_id":"@aletheia-ios/tools@0.2.3","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"66941a23e6a3fb8582cd95e973d9ef42d1d1062d","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.2.3.tgz","fileCount":12,"integrity":"sha512-APtzNwYc4+EJLgRSHQw4SVCeC/Eo64Tby7MAHVhEXSAtdsMW/pRnc66DG+Q4nWpHQaY1ez22YGp6XxDOoUjofw==","signatures":[{"sig":"MEQCIGloylICcDsyhT5nFhe5Gc78C3kNLNJydKTCuG+fDbtsAiAv7OEDtuTDX0VSrO69EICO2SsgWhlOl0Gap/EF2QUGCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDR8vOhO6Vt7U5LzhwhIzT3aF4qBlWqScW5agVtjWHHfgIgVv5xvLwgXvRKVdwueftpo7fyxtd6BRNyu/WXtbSf8QU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63284},"type":"module","engines":{"node":">=22"},"gitHead":"d361e5228488e40d8f213e72ca4a11c0ac3af9fc","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.2.3_1788614465161_0.0863928368252147","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aletheia-ios/tools","version":"0.3.0","license":"MIT","_id":"@aletheia-ios/tools@0.3.0","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"cb84c7e30fb1e6bc131a00b2984b78da59e75ee4","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.3.0.tgz","fileCount":12,"integrity":"sha512-LqxBTYKVi+FdE98TL+p4+hzSGgJL9+xzmA4V8BFxwK1LJWFhEyHwJFmJaZEES0Vg6Apdc0f9EmkkBAeRuIiZGQ==","signatures":[{"sig":"MEUCIDaIMcxTxNt19YE57CP16WbwHDOu9U96suG3JlpALG6tAiEAhJhjNmQK77i1+NIX9w+lWCz5UdnJoU/xhXhl2M9Ggdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHOU/kJM8Ad32ztQU4m704RaAp32yCbtCANbxOWPh2xwAiEA+kioLo+C3L4wRx3zBOAFKyziOl2K07fR9SecivI0S0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64135},"type":"module","engines":{"node":">=22"},"gitHead":"c8d1a6e6b5ffb317d241ce64a49e12620c605ce5","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.3.0_1788615607392_0.2731826418181025","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aletheia-ios/tools","version":"0.4.0","license":"MIT","_id":"@aletheia-ios/tools@0.4.0","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"ab72190a7358e4594ea2c69e80d6b417cfeb3cf1","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.4.0.tgz","fileCount":13,"integrity":"sha512-Z9ZIwCBWZBLxncWDSreVp/EhhRC9ygB8vj8NvwGQypyFh+R/i8P69Uz6PRXvq+sl7VY7SlBYIKPWLkqpG7Wxag==","signatures":[{"sig":"MEUCIQC7fjqn1AeR0tXz/K1zWzRL44asyRhFfxshMJthaLsuqQIgPOA5kIiPvJpq1xbogk+TegedUWf8NlhSJIiLNo48wrk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCNEj/aCm1JtL02JKMj2x/1qqBcO7as2wxFmf1iMySHHQIgNnqXBCaDBVbsNqB+SU7NUhKjg/7H9J9Z1KT52m+hJWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":179286},"type":"module","engines":{"node":">=22"},"gitHead":"50bd0117cb2826cb4eb9649715e3578740a1003e","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && pnpm build:html && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc","build:html":"esbuild src/html/inject.ts --bundle --format=iife --platform=neutral --target=es2022 --minify --outfile=dist/html-bridge.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","node-html-parser":"^9.0.3","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.4.0_1788620955616_0.4654736997576021","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@aletheia-ios/tools","version":"0.4.1","license":"MIT","_id":"@aletheia-ios/tools@0.4.1","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"955e6d1901427c86db5d85d1adf293eeabc98c2a","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.4.1.tgz","fileCount":13,"integrity":"sha512-uk8rXbMg86K8elsmgq+6zY4YX9uK+s1uOUUEKXyXl4b83CywK6+G3Ckzq4IxqXrDpC0rgY8DG8qz0GYXp5o7eg==","signatures":[{"sig":"MEQCIDB7WN77WMgd960+l5OcKFjoR6VwOcGFMdfuNSRy9pcYAiARpnaVBxR72U6/Z+TxjqdXRr3ySggToPtbSGpEi3snSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCKWDdG1Lpogzf/xoVngnRoVlguKZ455lvzKI1ap4AwcAIhALP0g4yswQi7NR+IH2lC6lh568IvbRT+Kcjs8xvYR351","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":179709},"type":"module","engines":{"node":">=22"},"gitHead":"a7e7b673a739903071f341c1d61044bc6ef3f1c7","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && pnpm build:html && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc","build:html":"esbuild src/html/inject.ts --bundle --format=iife --platform=neutral --target=es2022 --minify --outfile=dist/html-bridge.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","node-html-parser":"^9.0.3","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.4.1_1788626157795_0.9881214736961907","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aletheia-ios/tools","version":"0.5.0","license":"MIT","_id":"@aletheia-ios/tools@0.5.0","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"4c78309d222f646774fb05057c3c43ccbaf3e198","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.5.0.tgz","fileCount":13,"integrity":"sha512-VVFOlRfStFSUfWKouaZ9Wlp0pewWSsByjDxJ5Mmye17r4caTugPichCOaxFaQKEzl7e1SdG8UsC6ueL67L7FoQ==","signatures":[{"sig":"MEUCIQCVm34IXNaeQgQ8IakV+4END6wAdz3rXO9L90NE3pFf/wIgX22mYtgMhO1LZqSMRC6Pb/AGBe8Dio/6hLP1eUtyAZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCKoMh/TsuWRZD3S80a4Wk17Z3Au44OVz9BlEEs1dusPwIgM7P541DkGytZcwGOU9VXS1dGHabMMXLddPcpz4JwXHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183138},"type":"module","engines":{"node":">=22"},"gitHead":"14866f65048539425a85dc17cb7ad8ebdec8bd43","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && pnpm build:html && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc","build:html":"esbuild src/html/inject.ts --bundle --format=iife --platform=neutral --target=es2022 --minify --outfile=dist/html-bridge.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","node-html-parser":"^9.0.3","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.5.0_1788676440846_0.6940868378068707","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@aletheia-ios/tools","version":"0.5.1","license":"MIT","_id":"@aletheia-ios/tools@0.5.1","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"aa5bc873ff0f050b246a29c87b575b0c6f64b05a","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.5.1.tgz","fileCount":13,"integrity":"sha512-wNzlzDTgYWWeP8e7UyOD1qO4BJ9eQmOj0zQxR+i6RsErgaF5kdH7olO89G1F7AQewe0NnSpnLN52pnc9PWDfeg==","signatures":[{"sig":"MEYCIQD/qTQuJVS9dxKOaNgwVR9F/nZXgGHVRu0pdBmyMugP5wIhAIYPOUhtat9PbAqGwd6Fkut0oLC+IgNFRNvwp9QRQbWi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHu78ab+HgBtsDuRgHgB90v0HmWc4VEK6klvKRIBj+HmAiBR1EZejN272GcFEIjM/PwxnQ4XVZhr9oM6SSvZmJQVvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183138},"type":"module","engines":{"node":">=22"},"gitHead":"80a76482bc756ed61f4e324cac4714d271c3f3c1","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && pnpm build:html && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc","build:html":"esbuild src/html/inject.ts --bundle --format=iife --platform=neutral --target=es2022 --minify --outfile=dist/html-bridge.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","node-html-parser":"^9.0.3","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.5.1_1788677035152_0.37515613718191987","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@aletheia-ios/tools","version":"0.5.2","license":"MIT","_id":"@aletheia-ios/tools@0.5.2","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"homepage":"https://github.com/aletheia-ios/tools#readme","bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"bin":{"aletheia":"dist/cli.js"},"dist":{"shasum":"86891ea5f717f03da544ec8da56658bfcbc81102","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.5.2.tgz","fileCount":13,"integrity":"sha512-D176ZylRLCh3+PUgygMlfIqot38Ku49dnIdc5coklSATCM9N330pQbE4OxYij97i1wjaby+dQXAm+GY6YQrZhg==","signatures":[{"sig":"MEUCIQDDWJMI3rp7ogdgvGEGl005MpNhOS19FY1kGNynVM/UggIgDS1PySH4aYjbCUscytSrDQ6+k97rnBy0qA65gBx/bOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBmomOPeymdeNIrrSdpO+L5bOwN4eP+EIjFcjZfM++YQAiA9xrcFnZAkQ0raVrbCqFWvBJyYC3RQEeWxENkpvmIHTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184408},"type":"module","engines":{"node":">=22"},"gitHead":"7fdb14680c1ea2d566193d27895726d18c9f6354","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && pnpm build:html && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc","build:html":"esbuild src/html/inject.ts --bundle --format=iife --platform=neutral --target=es2022 --minify --outfile=dist/html-bridge.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","node-html-parser":"^9.0.3","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.5.2_1788677971786_0.45142398027424746","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"_id":"@aletheia-ios/tools@0.5.3","bin":{"aletheia":"dist/cli.js"},"bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"dist":{"shasum":"16525a58e09ac1ef56103dffdf538a9875bb4ebe","tarball":"https://registry.npmjs.org/@aletheia-ios/tools/-/tools-0.5.3.tgz","fileCount":13,"integrity":"sha512-EeH6XGD5O49g6ZsP9i0sEmLbgi5x36/bied9fEx/XmkaW5vjmq+nNPMis/uClAcj8vdh0/fkXj4CVwwskB2bQg==","signatures":[{"sig":"MEYCIQDOFFx7AGK6UyQLfD5a2sPPxtK4pGnSKefwVoc1ceUSHwIhAN37Z3wLSyuaw6pk3N80GTm3qvb0Lo7UvSdNezThxVOc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCjre8vCp2YaIxaiDufLdgmBkQkt3KnGmiN47WzHqWwbQIhAP6La0WKR/CO4U+HVNBXiKoTZ/uf6MWm+jfAsmNiNJph"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aletheia-ios%2ftools@0.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185676},"name":"@aletheia-ios/tools","type":"module","engines":{"node":">=22"},"gitHead":"2b8d7905b56591ed9bf33e8e69f8b45e7801a736","license":"MIT","scripts":{"lint":"biome check .","test":"vitest run --coverage","build":"tsdown && pnpm build:html && chmod +x dist/cli.js","check":"pnpm typecheck && pnpm lint && pnpm build && pnpm test && publint","format":"biome format --write .","prepare":"lefthook install","typecheck":"tsc","build:html":"esbuild src/html/inject.ts --bundle --format=iife --platform=neutral --target=es2022 --minify --outfile=dist/html-bridge.js"},"version":"0.5.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d01261ef-ce31-4139-bb74-f825c779c7c5"}},"homepage":"https://github.com/aletheia-ios/tools#readme","repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"_npmVersion":"12.0.2","description":"The aletheia CLI: build, check, pack, index and serve source packages","directories":{},"maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","sharp":"^0.35.4","fflate":"^0.8.3","esbuild":"^0.28.2","node-html-parser":"^9.0.3","qrcode-generator":"^2.0.4","@aletheia-ios/sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.16.1","devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","publint":"^0.3.24","lefthook":"^2.1.12","typescript":"^7.0.2","@types/node":"^24.13.3","@biomejs/biome":"^2.5.12","@vitest/coverage-v8":"5.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tools_0.5.3_1789788102634_0.6098835712811541"}}},"time":{"created":"2026-09-05T11:13:09.973Z","modified":"2026-09-19T03:21:43.091Z","0.1.0":"2026-09-05T11:13:10.430Z","0.2.0":"2026-09-05T12:35:50.498Z","0.2.1":"2026-09-05T12:49:51.903Z","0.2.2":"2026-09-05T13:00:13.357Z","0.2.3":"2026-09-05T13:21:05.263Z","0.3.0":"2026-09-05T13:40:07.478Z","0.4.0":"2026-09-05T15:09:15.729Z","0.4.1":"2026-09-05T16:35:57.889Z","0.5.0":"2026-09-06T06:34:00.936Z","0.5.1":"2026-09-06T06:43:55.277Z","0.5.2":"2026-09-06T06:59:31.885Z","0.5.3":"2026-09-19T03:21:42.717Z"},"bugs":{"url":"https://github.com/aletheia-ios/tools/issues"},"license":"MIT","homepage":"https://github.com/aletheia-ios/tools#readme","repository":{"url":"git+https://github.com/aletheia-ios/tools.git","type":"git"},"description":"The aletheia CLI: build, check, pack, index and serve source packages","maintainers":[{"name":"shiroies","email":"angelocarasig15@gmail.com"}],"readme":"# @aletheia-ios/tools\n\nThe `aletheia` command. Turns a repository of source packages into `.althsource` files and the\n`index.json` a source list publishes. Runs on a Mac or in CI, never on a phone - the on-device\nhalf is [`@aletheia-ios/sdk`](https://github.com/aletheia-ios/sdk).\n\n```sh\npnpm add -D @aletheia-ios/tools\n```\n\n```\nusage: aletheia <command> [options]\n\n  build [--only <slug>]     bundle each package's src/index.ts to dist/build/<slug>/main.js\n  check [--only <slug>]     typecheck, build, verify exports and run fixtures under JavaScriptCore\n  pack  [--only <slug>]     build, rasterise the icon and zip to dist/packages/<slug>-v<version>.althsource\n  index                     write dist/<target>/index.json for every list in lists/\n  site                      write dist/<target>/site/ - the page a reader adds the list from\n  serve [--port <n>]        pack, index, serve dist/ on the lan and rebuild on change\n  new <slug> [--name <n>]   scaffold packages/<slug> from the template\n  live <slug> <series|-> [query]\n                            run a package against the live site in node and print what it returns\n```\n\n## A repository\n\n```\nmy-sources/\n  packages/\n    mangadex/        source.json  filters.json  icon.svg  src/index.ts  fixtures/smoke.json\n    ...\n  lists/\n    main.json        { \"name\": \"My Sources\", \"target\": \"main\", \"sources\": [\"mangadex\"] }\n  dist/              generated\n```\n\nA list may also carry `\"url\"`, where that target's `index.json` will be served once deployed,\nand `\"adult\": true`. Only `site` reads them: the first is what the deep link and QR point at,\nthe second puts an age gate in front of the page.\n\n`aletheia` finds the nearest `packages/` above the working directory. Every package folder\nname is its slug and must match `source.json`.\n\n## What each command guarantees\n\n**build** - one esbuild IIFE per package, ES2022, no Node or DOM assumptions, ending with the\nsource object on `globalThis.__source`. Fails if the bundle pulled in zod, which means a source\nimported `@aletheia-ios/sdk/schemas`.\n\n**check** - `tsc` per package when TypeScript is installed in the repository, then build, then\nthe bundle is evaluated in the `jsc` shell inside `JavaScriptCore.framework` - the engine the\nphone runs, not Node. Verifies the four required exports, reports which optional ones exist,\nand if `fixtures/smoke.json` is present runs search, details, chapters and content against\ncanned responses. A Web API the bundle assumed and the phone lacks fails here, not on a device.\n\nBoth `check` and `live` install a real `__host.html`, so a scraping source is exercised rather\nthan stubbed. It is one pure-JavaScript bundle compiled into the harness, because `jsc` is a\nseparate process and cannot call back into Node, and the same bundle is used by `live`, so the\ntwo commands can never disagree about what a selector matches. The app's own bridge is SwiftSoup;\nboth follow the same CSS dialect, but they are different engines and will not agree on every\nexotic selector.\n\n**pack** - rasterises whichever of `icon.svg`, `icon.png`, `icon.jpg` is checked in (prefer\nsvg > png > jpg) to a 512x512 `icon.png`, then zips the five files with fixed timestamps. The\nsame content always produces the same bytes; the app treats one package published by two lists\nas one package because of this.\n\n**index** - for every `lists/*.json`, reads the packed files and writes\n`dist/<target>/index.json` (validated against the sdk's `Index` schema, relative URLs, sha256,\nsize, the package folder's last commit date) plus `dist/<target>/manifest.json` naming the\npackage and icon files that target's deploy has to upload.\n\n**site** - for every list that declares a `url`, writes `dist/<target>/site/`: a static page\nwith an `aletheia://add-list` deep link, the URL, and a QR inlined as SVG at build time, then\na card per source carrying its icon, version, languages and rating. Each source's `icon.png`\nand `source.json` are copied in beside the page, so the folder deploys as-is and every card\ncan link to the manifest that says what that source contacts. Generated from the same data as\nthe index, so the two cannot disagree. A list marked `\"adult\": true` gets an age gate that\nfails closed without script.\n\n**serve** - runs pack and index, serves `dist/` on the LAN with `cache-control: no-store`, and\nreruns both when anything under `packages/` or `lists/` changes. Point the app's developer list\nat the printed URL. Every package is served as `<slug>.debug` named `<name> (Dev)`, without\n`replaces`, so a dev build installs beside the published one instead of conflicting with it.\n\n**new** - copies the template: an offline source with `hosts: []` that passes `check` as-is,\nso the first thing you see from a new package is green.\n\n**live** - builds one package and runs it in Node with a real network behind `__host.fetch`,\nhonouring the manifest's `hosts` allowlist. For comparing a port against what the app shows\ntoday. Never part of `check`.\n\n## Fixtures\n\n`fixtures/smoke.json` is an array of `{ \"match\": \"<substring of a URL>\", \"body\": <json or html> }`.\nA string body is served as-is, which is what a scraping source needs; anything else is serialised\nas JSON.\n`check` answers each `__host.fetch` with the first fixture whose `match` appears in the URL,\nand calls `search(\"smoke\")`, `details(\"series\")`, `chapters(\"series\")`,\n`content(\"series\", \"chapter\")` in that order. Capture real responses from the site and trim\nthem; the point is that the mapping code runs over real shapes without a network.\n\nMIT.\n","readmeFilename":"README.md"}