{"_id":"@azphalt/mock-backend","_rev":"4-ddadf66e7b18a53e4d97e796989c2001","name":"@azphalt/mock-backend","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.2":{"name":"@azphalt/mock-backend","version":"0.1.2","_id":"@azphalt/mock-backend@0.1.2","maintainers":[{"name":"azcamehere","email":"hereliesaz@gmail.com"},{"name":"hahapewpew","email":"az@hahapewpew.com"}],"dist":{"shasum":"cff6fb62652f00a3fe2c00791fb5c3399ef536cb","tarball":"https://registry.npmjs.org/@azphalt/mock-backend/-/mock-backend-0.1.2.tgz","fileCount":6,"integrity":"sha512-t9teIjh4157cHqpfFQ2xRr/so0qIzypuOFRJsCDcXBapJgc3r8nvyHLHEwFzZakd6cm0hUl5J0QQuDCh7mt/iA==","signatures":[{"sig":"MEUCIQCwUI9LVjy8aHwf7riJXDvQYflojnHQrZ25cySnW7SFEwIgQZBv+NXV91Z57aUsyzF3lw7VinObQO5R0adbS9/3qVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5286},"type":"module","_from":"file:azphalt-mock-backend-0.1.2.tgz","scripts":{"dev":"node --watch src/index.js","start":"node src/index.js"},"_npmUser":{"name":"azcamehere","email":"hereliesaz@gmail.com"},"_resolved":"/tmp/45df672536a27500901d34e975c5e42c/azphalt-mock-backend-0.1.2.tgz","_integrity":"sha512-t9teIjh4157cHqpfFQ2xRr/so0qIzypuOFRJsCDcXBapJgc3r8nvyHLHEwFzZakd6cm0hUl5J0QQuDCh7mt/iA==","_npmVersion":"10.9.8","description":"A minimal **Express** server that implements the azphalt [Repository API](../../spec/repository-api.md) over a small hard-coded catalog. It exists to give the reference marketplace UI ([`@azphalt/marketplace`](../marketplace)) something to talk to during ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"cors":"^2.8.6","express":"^4.22.2","@azphalt/azp":"0.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mock-backend_0.1.2_1784628649051_0.31367141709361945","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@azphalt/mock-backend","version":"0.1.3","_id":"@azphalt/mock-backend@0.1.3","maintainers":[{"name":"azcamehere","email":"hereliesaz@gmail.com"},{"name":"hahapewpew","email":"az@hahapewpew.com"}],"dist":{"shasum":"5c2f2eb722d7e465ba210d94dfe6d6c32ef603ff","tarball":"https://registry.npmjs.org/@azphalt/mock-backend/-/mock-backend-0.1.3.tgz","fileCount":6,"integrity":"sha512-RYCDDEjQuqfmWbECiQ/LM56DuuaQzggSSGjVr4JN/FC7CKSBJz8ZPzJcgEg2E1+otbabCNIJjl0ywKxoHtZ3gw==","signatures":[{"sig":"MEQCIEbzDjBVhytDP0QAY96VSP4PCCow5geExpVZFl6PshnUAiBIGlw0X2mPdJIvPriFFNiTw+TzGvoecRvVLCIxtpiTSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5508},"type":"module","_from":"file:azphalt-mock-backend-0.1.3.tgz","scripts":{"dev":"node --watch src/index.js","start":"node src/index.js"},"_npmUser":{"name":"azcamehere","email":"hereliesaz@gmail.com"},"_resolved":"/tmp/87756505a82522fcc365fdc1102385ec/azphalt-mock-backend-0.1.3.tgz","_integrity":"sha512-RYCDDEjQuqfmWbECiQ/LM56DuuaQzggSSGjVr4JN/FC7CKSBJz8ZPzJcgEg2E1+otbabCNIJjl0ywKxoHtZ3gw==","_npmVersion":"10.9.9","description":"A minimal **Express** server that implements the azphalt [Repository API](../../spec/repository-api.md) over a small hard-coded catalog. It exists to give the reference marketplace UI ([`@azphalt/marketplace`](../marketplace)) something to talk to during ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"cors":"^2.8.6","express":"^4.22.2","@azphalt/azp":"0.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mock-backend_0.1.3_1785554796139_0.8927946104698965","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@azphalt/mock-backend","version":"0.1.4","_id":"@azphalt/mock-backend@0.1.4","maintainers":[{"name":"azcamehere","email":"hereliesaz@gmail.com"},{"name":"hahapewpew","email":"az@hahapewpew.com"}],"dist":{"shasum":"5b714baf809b26160f48f08781b241e9b7ca9fd1","tarball":"https://registry.npmjs.org/@azphalt/mock-backend/-/mock-backend-0.1.4.tgz","fileCount":6,"integrity":"sha512-vWVslsomf1mOQfKf6ou+0jKWHVefF9XZrVm5ApR2vp5azOlikpdP7iE+tY7uzTQddNnwoho245mK66+9/KP3ng==","signatures":[{"sig":"MEQCIEif2Gr4B5MVqwY/ibjalIh8R2wd0or/nhKMPe1383rzAiApUS13KkmzW3cQr4PMypws50ZsIng9PdTIGexxLvjpCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5594},"type":"module","_from":"file:azphalt-mock-backend-0.1.4.tgz","scripts":{"dev":"node --watch src/index.js","start":"node src/index.js"},"_npmUser":{"name":"azcamehere","email":"hereliesaz@gmail.com"},"_resolved":"/tmp/85d145fc58523175e5d66f6227bcf8bb/azphalt-mock-backend-0.1.4.tgz","_integrity":"sha512-vWVslsomf1mOQfKf6ou+0jKWHVefF9XZrVm5ApR2vp5azOlikpdP7iE+tY7uzTQddNnwoho245mK66+9/KP3ng==","_npmVersion":"10.9.9","description":"A minimal **Express** server that implements the azphalt [Repository API](../../spec/repository-api.md) over a small hard-coded catalog. It exists to give the reference marketplace UI ([`@azphalt/marketplace`](../marketplace)) something to talk to during ","directories":{},"_nodeVersion":"22.23.1","dependencies":{"cors":"^2.8.6","express":"^4.22.2","@azphalt/azp":"0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mock-backend_0.1.4_1786266680368_0.13165395717896478","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@azphalt/mock-backend","version":"0.1.5","type":"module","dependencies":{"cors":"^2.8.6","express":"^4.22.2","@azphalt/azp":"0.5.0"},"scripts":{"start":"node src/index.js","dev":"node --watch src/index.js"},"_id":"@azphalt/mock-backend@0.1.5","description":"A minimal **Express** server that implements the azphalt [Repository API](../../spec/repository-api.md) over a small hard-coded catalog. It exists to give the reference marketplace UI ([`@azphalt/marketplace`](../marketplace)) something to talk to during ","_integrity":"sha512-vYgoHwvwqWanEnWyv1MWs0U5Ao7jvsuRoanpgZ5mPZ/rPT3G65LJdPZKFgFbBkCVv2WOUp8sjasCmSS+z8S//g==","_resolved":"/tmp/26be09538870969cb15eff6c59b4677b/azphalt-mock-backend-0.1.5.tgz","_from":"file:azphalt-mock-backend-0.1.5.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.9","dist":{"integrity":"sha512-vYgoHwvwqWanEnWyv1MWs0U5Ao7jvsuRoanpgZ5mPZ/rPT3G65LJdPZKFgFbBkCVv2WOUp8sjasCmSS+z8S//g==","shasum":"c5df3c4f9b9d0a920c1af2e4a54d7ed57318cdc6","tarball":"https://registry.npmjs.org/@azphalt/mock-backend/-/mock-backend-0.1.5.tgz","fileCount":6,"unpackedSize":5680,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCjCSfkEaRV+CFDz4pynm7PBgpftY+wZ/WPhl5PbSUNKQIhAKIZq55aKgWqveB617TiRoVR+UBX4fI+vlfE2W2zJgoH"}]},"_npmUser":{"name":"azcamehere","email":"hereliesaz@gmail.com"},"directories":{},"maintainers":[{"name":"azcamehere","email":"hereliesaz@gmail.com"},{"name":"hahapewpew","email":"az@hahapewpew.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mock-backend_0.1.5_1786700447299_0.705653336942001"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-21T10:10:48.907Z","modified":"2026-08-14T09:40:47.629Z","0.1.2":"2026-07-21T10:10:49.181Z","0.1.3":"2026-08-01T03:26:36.296Z","0.1.4":"2026-08-09T09:11:20.522Z","0.1.5":"2026-08-14T09:40:47.447Z"},"description":"A minimal **Express** server that implements the azphalt [Repository API](../../spec/repository-api.md) over a small hard-coded catalog. It exists to give the reference marketplace UI ([`@azphalt/marketplace`](../marketplace)) something to talk to during ","maintainers":[{"name":"azcamehere","email":"hereliesaz@gmail.com"},{"name":"hahapewpew","email":"az@hahapewpew.com"}],"readme":"# @azphalt/mock-backend\n\nA minimal **Express** server that implements the azphalt [Repository API](../../spec/repository-api.md) over a small hard-coded catalog. It exists to give the reference marketplace UI ([`@azphalt/marketplace`](../marketplace)) something to talk to during local development — nothing more.\n\nIt serves the standard endpoints (`/.well-known/azphalt-repository.json`, `/packages`, `/packages/{id}`, download) from an in-memory `DB`, so you can see the client flow end to end without a real backend.\n\n## Run it\n\n~~~sh\npnpm --filter @azphalt/mock-backend start   # listens on http://localhost:3000 (override with PORT)\n~~~\n\n> This is a **demo**, not a deployment: the data is hard-coded and there's no verification, storage, or auth. For a spec-complete, tested backend over the real registry — including the `401`/`402`-gated paid-download path — use [`@azphalt/repository-server`](../repository-server).\n","readmeFilename":"README.md"}