{"_id":"http-mock-json","_rev":"56-63505cbf2c4100e306b646de61b58de9","name":"http-mock-json","dist-tags":{"latest":"6.0.1"},"versions":{"0.1.0":{"name":"http-mock-json","version":"0.1.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@0.1.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"2917155287d19ca9df9c9ea1a8e197e32a92ac63","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-0.1.0.tgz","fileCount":25,"integrity":"sha512-bxv1/WZZxermlWUqqEX2owLeHYeqariSKM88r2H9EO4BBefE2uo/9+2ffm4Oh5QZxFcCAoFBFqLi2n2H5CF2mg==","signatures":[{"sig":"MEQCICKRnL+Y80mmMbaUtFSJN2FEID7+HsaE7p1kY9xpnMgCAiAeMY8VZyXQmlYlWczd8KBJEo+YRqsVel1FHD6ndASoxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4N7lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrL9A//fbXEdXrm1fXk//niuWs4nGEPK/MCnct6JcnJrVn4VH+lejp1\r\n2r7tzRpCA4u1PaZIvvD1kit8xADF7czpwCyQtM424ux6GwPNU1YRsXqTKY2k\r\nD6pxn5ZIxWl0KIRgu1fpW3JBM909xrtaxMOXK/VcxT1mr/AtNIL3StqAQccV\r\nFeQhFh5V1BRUTDDuXvBcJNI9EKD1Q8vap1/zJbq5zMTH8ZTKyrhDBK2XLk7/\r\n7rf4ebcmh+tZyw7StD3l2jhPqApD4x4PHPDCjCd5fnJ7tfOjzWGeSTHeNTCz\r\nZQlHSYWTl/M++cv54FzyIyFtI0DjIjZ82zCkdH/Joli6uOXRs54RY6M8XGAA\r\n60if0jNfr+4Q4TTf3/I5o7AtT9ANzjR+5eaqdHKtaGDmehnTjExwg+RqxeKr\r\ny0Ss/hC4W1Tf5/hVkr1pGZ5fS26NCYBrz709y72/gVkpjY0Gz+EnfhZRrj51\r\n7wZDnS12ulPE93xDsqJSn/nySXIWxoJrRmBbLetgwU/WkAHsOw1UhAHze+90\r\n1pw2QHpeOPYl0QQURL/uxyhRLYM3vVAuQ2DNGph80eFQQEccTNu9LBYdSdm4\r\nEXXAcyrW5V/8qkymIXPosnf/e1duUEicVWJZBvW6bmJ4/JTW+NKoeFNWyoH/\r\nPyx745ZJ/SlgqD42J+e7qkNFSW2j0epjCBQ=\r\n=3MOn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"a2f59da032f188f9d1c25a7a23dab18514660816","scripts":{"dev":"npm run build && npm start","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","build.tsc":"tsc","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"8.3.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.17.6","dependencies":{"figlet":"^1.5.2","express":"^4.18.1","colorette":"^2.0.17","commander":"^9.3.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.7.4","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_0.1.0_1658904293416_0.21427484548323839","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"http-mock-json","version":"0.1.1","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@0.1.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"0a0c2b7fecb4c997dcc133703f33d3b252a006d7","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-0.1.1.tgz","fileCount":25,"integrity":"sha512-falwB64m9S2PZ42puuXYjBAUTTca6++RMxIWeU+ZMkWPQUQgckI9EQkPpYzBeRLfw1jdWBL9DOMjfr0D+Bjv/Q==","signatures":[{"sig":"MEUCIQCt+ui/M61Qsr6SnaRzdL06ed5vGxgKTFtymYIlzirxdgIgCEx3m6PcrClkNdbawRv2mJjK0exepyX/i+aJBoOI47k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4OFbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8Zw/+NB+crzHOk9o0911DB5FJ73/ENHLvKU0jwdLp5zmQ/otUpLKH\r\ntQ3510HdIY93+NBOlKEms8J4aUOoyBEAbFYF2KvJzGTOIv9X12NeuprJ1lOM\r\nENP8m8G3I22isAzvAO9BsS18bBA7bapCx40FokhRsuwhqXqLMMklGYUuDAlY\r\nYnl7OUPCJSQUGqQDLvoxAjgBpXGaI5Wnn9JocovgEngJLqJp7UarVRLIjzoJ\r\nz338Pz6IvIIDtMJnoAaqy//4jayRx8Obzh0eCRSwuqm6U29OvxhKIKxcFsXO\r\nCwW3+zumkRYqy0/fVOK50FDzexAZsjVFAlE5Dfuw3NRfSXL1cKjIPC6kllwE\r\nkAgwaNN8UOLUgGfyKGABBb6MTAfxijUopW6ueD1WU4yx9kGDKMS4bBzAoRUu\r\ngmlTt0AdLdHGVrNcPHJLszirfB5QsU5ahhirrN5hGCMHAE8GsWwOrs7oeVwg\r\nj9HuxTraTg5QN5WprgBJJvTbmvymWuHibVM8iDq1+/MD8sMw0SQC3eCjaStz\r\nrT5dtunGpSY0c7Z7/fzxWXUVZTbdmY/hJ0CKSDIC6ovNeWapDVzHoRLJ/Wsx\r\nEdoLu22GoXPZdvHIkWNhcwCldTEuhBvIudatdEK4/wzz2Nfkdq/RduMNqpfk\r\nYLsLoxIf1vbxIvZs8Fsjw71wTuPfSflBmOc=\r\n=Kdln\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"2b5912e7e16c5acd55564af3584b70223c963d41","scripts":{"dev":"npm run build && npm start","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","build.tsc":"tsc","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"8.3.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.17.6","dependencies":{"figlet":"^1.5.2","express":"^4.18.1","colorette":"^2.0.17","commander":"^9.3.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.7.4","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_0.1.1_1658904923801_0.638962747161206","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"http-mock-json","version":"0.1.2","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@0.1.2","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"b26acd67b6c35944bf0a1d34be1966613e6f6b9c","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-0.1.2.tgz","fileCount":25,"integrity":"sha512-1cCsg27JWe2Sq+JftQkQrvoyC7JhOIthflZ5pC6Jk+vB9VAuU/4QprsWLNoti7K3fb58AaxJgRHW7onkMQWpzw==","signatures":[{"sig":"MEUCIQCGPBg/aOsY94IUrFAjp+wtLkLZd3NnL9ZkFGWBVLld7QIgUP4LYZ6KSMoAR/VBUHXFeFAate+po3xNeP+4dV0rUzk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4OGpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHtw//esC5N1PZJWrrKyG/4v6G/3wkJoYEOKz6+yDE9abACPJu31U1\r\ncFrehUIDeoCHPQcjLFd/ZUB5cxewHe7/klk3YO5s2zG8HfYshRewvBu9nJAg\r\nhvwZtBzJPJhyg4WZUqwpeKpXjUBhtm6Ts+NeqQsZ1UwYBfUlrM7jOKjjOpNL\r\neSv82PhBcHFT3bsZaCQLpoeg94eDJJOgn3FerjFSeW9uUUh/r6+MA8SsprSx\r\ng64VF5ZCrviTSE1FI+LVTHVGcTTVJNKpCK0AP4y74HtoGbPnz23H1kyXuY3i\r\nh/4XBiKKr12TRgsXqRZ7elrZTq+40Jx7Gpbv5NBjH9v1sY/QmoTy80GGZLWm\r\nMfIJhQL2/0rlHAusOD1qBU+m4MfEj1j8urEzjFxqHLQ2Nu3Fl8VXri/lW+ZK\r\n4i7lVl0ihfnYExgtT44s/On6I7UDrBPoLFX9sIaKkbCCQ0lr6Cua0d2OY6G3\r\nNqAnYZYwmtqruomd9cAJQFpPWO7WNaY3MwznQ3ijtpOL1icFbUZGiEkuh42x\r\nniJVGTizWh/wFbsVY54Sojb2yU6igk7rGw9d+Hqny0FPMK8ejv6I+Lg4laim\r\n4rVtXTSAVbfX8Ymokpx5Pk88pJLrKE/sbvocEJPQykSPnioFBEyqqv7Gkk+J\r\n6N93uyexopZoTahnwPJifMISdLymcM9zLnU=\r\n=x3em\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"86fb55d976fc88d30a73d22260251e5f29f09033","scripts":{"dev":"npm run build && npm start","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","build.tsc":"tsc","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"8.3.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.17.6","dependencies":{"figlet":"^1.5.2","express":"^4.18.1","colorette":"^2.0.17","commander":"^9.3.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.7.4","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_0.1.2_1658905001483_0.8171329853257161","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"http-mock-json","version":"0.1.3","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@0.1.3","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"5dbb553f7656c7b564ab7bdac9fd2fae18b2d85f","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-0.1.3.tgz","fileCount":26,"integrity":"sha512-sdJpoVoOaSe5N6JGz6lUQiF/NrybtZX7ZYY2B2piSIaD3/p4Ft4ebT9St6nyOZ4WzRXHKBniUX0RRwHEOPe5jA==","signatures":[{"sig":"MEUCIGvssd1oFMAK5qhtn1qVGj3aloONcPK7XhB+jZ+gx6q1AiEAiYSIYIlHs61nwwQK6bWEe2UxG/WD8NDXJzqNM+K6y+0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4r4jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZVg//d7qcnCtjqO+VgKrOb1O4lJbz58qpgWnTJsv+z3TRW/HumHcf\r\n6gZs4BGXXkBrCXBmOCppzdjkyl7a0U88457uBnZaYlaTtkSXDJMV02XQW5C7\r\nNM2qDjypcvoN4HYcsDmBUlpqnOm/jY1EQidbJtVw5U3zJuBN5omOgpkh5DGt\r\nK0uTmwriFLrhCvPaGKEZ70xl6Kgp/sGkaYHVLrAvhNujL5LwPwMYGktTN6sI\r\n4gx4d52mMtPuBeedEQHo0anJDKcfRkaGXkFFFqSFgg2Ay9WSJw33QSUhyXbd\r\nB7ggCNcfhR6Km2Jge7FyAfgP0Ho8OF6R6KVD/TnP72QbEyu6BuryGKdgthp2\r\nPw+N3YPZXRPa0ASXTTdyInmV7+kHU1RaGDo4qUpRTkLcJdpIMlwSSly8Enno\r\nE7Y/XoBSSbF7S5jbnOQlRyGa6/akCVyR3Ex4lbykgQjMgc4nQGHFaEEbraRP\r\nGQaVqs3RLg5M8uTyVJU231w/uz6JSlWk0U/tFZ/Hisn2GP5KCF082Q++lgLk\r\nF2lUUWRkmI/TnXw/hggbKJET6wrzYXiG0quX0HAVS8fFXVnsO8Jwiu3byejD\r\nd3UW07h8ihjqoZjLotnmFzUx0Thexhveo0CKu/t4ySoeMrS5mL4WXaNJcP9K\r\nubM19jqzbY6FdEsu5q6bJKjb44HVPJKMdlQ=\r\n=cHFg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"81c36e8c46562647ff1eb73d145073da56f2ad96","scripts":{"dev":"npm run build && npm start","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","build.tsc":"tsc","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"8.3.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.17.6","dependencies":{"figlet":"^1.5.2","express":"^4.18.1","colorette":"^2.0.17","commander":"^9.3.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.7.4","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_0.1.3_1659026978889_0.3483000004196035","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"http-mock-json","version":"0.1.4","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@0.1.4","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"a32bf42c8cac8d6ec8e083e13cd364c2db133a72","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-0.1.4.tgz","fileCount":22,"integrity":"sha512-e2hZ6CYwYdLmVFjLFpYF/ZA42P8eVEGAovboIBU1cjR9W6+XfGhibg4FnCt5PLNxUUUdO5sbSdzyaITTtKHM6g==","signatures":[{"sig":"MEYCIQCqz2gyKxYY8Hi3RLi+BaySBFC+Gl86KUjA5aipEc+/ngIhAIl6dD6ZYBZsPMdnIsEOBE3vnqbzzT+qhzv6pb6+hpL/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15631,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5LtyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsuQ//T8gUDullZNsQRn3STme+UIAljKIDddkyMUX3v4QAOamYiQ70\r\nCypPY3LbK9pn1BgHIYK3P3YubXsMUbbS8u2ROHg3JNOS5G16cCrRyXKVh0wM\r\nfncT+3Rq5mA6LhgmnEnV52XYUW+X/5BmDV3Tl1pWDGz/EUwPV9umSbb8x70H\r\nrsl8WxgETkqXxc8ti6ptivTd4elr/4SWckgWO7vQG/2zldYFlcn82ZpwRPrF\r\nwP/8E05mn85L3vCK4t9HmI+Q/u1SAFP304Aoke6Bg3GerBJYGv8NO6+lOonU\r\nV6SoVBXdq0iXvkZp9jFXZ5tvAOGgfIvjoc7EKyTOGDvYIF5PQKIVu476WrkE\r\nHUonWu/PZZJu74JSiGS7pTTdqvHx6CfWcQWXLLdgmM/O1vNcyHjDMBl1FGNM\r\nvqX4neSjaTiUGggYXn3dP+taIVQ/8bH+fFZO4b/MXJ02tLmuimtUjFsX1JeL\r\n6hx802eBZDVbxU8rX1jfM7X/z78d6xC4iDQjPS1eoPpsnczcrtT7kfLasatw\r\nP+J4NiHULeL5poB8mlNPqffb5OWzuZvK9nZe1uuqWO2a1OP0t3+xWuJpMgrO\r\nXVfZ3PdN5Ku1/79ohvrDZAClPyGgamWYh5fizYgyb+HgUAqqvgGShxThQOlj\r\nPJRbJn/edMCu0scZZeK/VgpMRi5uNnoJx/Q=\r\n=5MF8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"4e776ce94997830135705334cdaa3d00a168a13e","scripts":{"dev":"npm run build && npm start","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","build.tsc":"tsc","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"8.3.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.17.6","dependencies":{"figlet":"^1.5.2","express":"^4.18.1","colorette":"^2.0.17","commander":"^9.3.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.7.4","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_0.1.4_1659157362281_0.8148000544431815","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"http-mock-json","version":"0.1.5","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@0.1.5","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"0302d914b6e2273df07d1037751b20516036f661","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-0.1.5.tgz","fileCount":22,"integrity":"sha512-a8R6jAaydUxcEBurK+igsybpSG4Jv2iHvtFmWDnYZtfX6R6PuUwOMlPr9pCHeKj9ggB5/QLGULKrjh/Ghk7wiQ==","signatures":[{"sig":"MEQCIGv8TdyoY8Xx9j0olTuhYYa5XHR1XLGlq5cNcOfSUqPfAiBOYdXAX0YmsuxNqOPpcFAcCYBsiFxa0ly8zbdMRXcffQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXV9hACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo74w//SUOtztFjDX0QRM4IywEdn7B+KUkS7UCP08RvyzUc5Ij/KsGI\r\nngBoAnq0AdtV+J5yMKAU8SrvL3zTEOoxHc1jFhzzJH0GSKg3bUhLju8dTpLz\r\n8IjXhh2jQpwXGxw1zBRZVG2WNrZBYgoBDVID2WQ8tP2RlCJbkxLOPPq8rzi2\r\nLEQzBLCrPF+0Hr2orIe08OBWybuR81QocY49sO2KYbcRK7vQW7MurSELhGlo\r\nG0DrQ0Rwbn11Qw3EzgrPC7v7YIyx12VSzzxKcniDgHLAMPq4H0CkJgjVatpA\r\n2YSHvNiwudIXgHunlg0tSphoe96HgUNYrt8b3YndmEA3na5OaVr/YIzKHFCw\r\nmYjrSdbjo+5VNzbf33ftIPH6vYwsetR8bUiX1BPW2ob8d6TycIlmj8dPvEu+\r\n2WUeDdEyNReuzFOqazN9TzndRV5lj/2Fb9TjlfkcMlgaj0ml9Yj9o9Gkmib/\r\nIcO62ZoVksqWfxa5w9RwO5lHKuC+zrmexvBLr0BkEcBrmFtdkxfUESEqJTPQ\r\nNNyCrIm/AmbuJD3lyftqWPYQK7ATBd9orf4Sz3WI6bvd6HFx23R6ntMvuT34\r\nQ6In78nqWA8A5/wEQX2aVPHmynoWclWALg4PaVr3K4uU5dHTQJ2iw6Ar0fgZ\r\nxSeB/spCzt6lSDvRzm6yoIT6oE2YXaMlx60=\r\n=4q1f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"4e776ce94997830135705334cdaa3d00a168a13e","scripts":{"dev":"npm run build && npm start","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","build.tsc":"tsc","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"6.14.13","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.17.3","dependencies":{"cors":"^2.8.5","figlet":"^1.5.2","express":"^4.18.1","colorette":"^2.0.17","commander":"^9.3.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.7.4","@types/cors":"^2.8.12","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_0.1.5_1667063649652_0.9285128144507255","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"http-mock-json","version":"1.0.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.0.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"a7a088cc91d74eeefdd5013cb9c037fb3e96f224","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.0.0.tgz","fileCount":30,"integrity":"sha512-l2/t0WQLliWPWJjO3DJfHivpa4QEr/sJK44x33wDkG6S5maPnMpao9U2gBuy1+1zSzo1QZcWscM5F+k98arv+Q==","signatures":[{"sig":"MEYCIQCru8gkADQJOJIIO5VuE1fUEeal1pMZ00XnuJ8/oViv5QIhAIdX9OPBxTY1yGBATvGV4jPfZMqDiNnyoe0gHwYY8q20","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20216},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"7a6ed23e09f05e8a04c71d629fc407fc91aa2d61","scripts":{"dev":"npm run build && npm start","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","build.tsc":"tsc","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.7.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"18.20.4","dependencies":{"figlet":"^1.7.0","express":"^4.19.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.0.0_1729194046153_0.11512094349972868","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"http-mock-json","version":"1.1.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.1.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"b7b9a53f722599733a2824b82232e690218fab0f","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.1.0.tgz","fileCount":30,"integrity":"sha512-P9gdmVnN48F/CqO6oejVmFLnjO9d9Bwh/6CopIdMu9YBFy+vev955RLJJlkyDqm5B2IOL1ujTw15C9TIAcQ5fw==","signatures":[{"sig":"MEUCIQCzp+4MVXTm38gSQJMFAXCObfnQfhqd6cEQ2HbHQSpIzgIgG62KQwKwZ6P/EkJi6nm1v6W8qRUq3kE884FWTRTylvI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21052},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"7fbc9df9892d3c7b518198656d34b7107e32ac65","scripts":{"dev":"npm run build && npm start","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","build.tsc":"tsc","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.7.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"18.20.4","dependencies":{"figlet":"^1.7.0","express":"^4.19.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.1.0_1729446301854_0.02979060967859204","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"http-mock-json","version":"1.1.1","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.1.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"c6aaea21411e27b3435951541210e0b5e67b77d9","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.1.1.tgz","fileCount":30,"integrity":"sha512-s4iYGCWyyaC6Ht19hLf5uR67GB3iKHHvE5nanRkQBZVDb3mvaWq2gXNW/YywF4Z/7KYi81kZMYebIR04mWFbFQ==","signatures":[{"sig":"MEYCIQC2B/vTUa5WT0R+0lMMRhgLawYmHoPey5tOO+DJ9ctJvQIhAIzPKGLJRroZMp4oph5Kf8X5Gkor8dmM6iiLiMSi9V0W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21053},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"df6975d7a0877a185ebdee04645c2636e32ae09e","scripts":{"dev":"npm run build && npm start","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","build.tsc":"tsc","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.7.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"18.20.4","dependencies":{"figlet":"^1.7.0","express":"^4.19.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.1.1_1729477829291_0.24882389599833643","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"http-mock-json","version":"1.2.1","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.2.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"47e1142ac6c1280f1c9b9dda1044b91ecfc96d7b","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.2.1.tgz","fileCount":91,"integrity":"sha512-WgHYxvSydxSM0b7z7zJc/Yowt5msvYSuNzidDKvN/v7y8qO2FRo4dTSXYTU0GCkJQXtKjbfwW1KL1tS3Walf/Q==","signatures":[{"sig":"MEYCIQDTascHN1s6K4u22sbspW6L8jJWl3Qw5EAn4ifstkieVQIhAJUCNkVTElg8p/sv+wctCi9rQvus/7hhjDN/LpWO/tyt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387391},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"0a9cbd86d33d88a73fbdb51161257b0000a03165","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","mock:start":"mock-server start -p 3001","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"9.6.3","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.21.1","dependencies":{"figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.2.1_1729645213364_0.48688646434749216","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"http-mock-json","version":"1.2.2","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.2.2","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"656dff7984e206e4cdfd36bdb4745d03465bba12","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.2.2.tgz","fileCount":85,"integrity":"sha512-VY1bsfTigc27oo3Vmd8qS5yoXqpyUg6cJ4l9kWbDmYRG0j7whuvT1qn52/z66/BpSK/F/V/Tx0wlILfLnZ801A==","signatures":[{"sig":"MEUCIGz2TynLbjphkSvoU4+5+jOEZPgMqRRJKvTdYSiBEDjxAiEAsBm7N0zOKjDNyId06hKCFD6onMidVidciI4Z+lNkSbI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67232},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"144bf6a4991e4272cf56a23899ebb278974e0fa7","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","mock:start":"mock-server start -p 3001","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"9.6.3","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.21.1","dependencies":{"figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.2.2_1729645369880_0.12746503127994058","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"http-mock-json","version":"1.2.3","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.2.3","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"b849b3dd6951536056eb1e59c89b79369cf342a2","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.2.3.tgz","fileCount":47,"integrity":"sha512-n5znQFbB9Q4ENQ/cnwW7m3iJdGSsOjyc8OdF8m6HRT8oYafDltYcyJrWXcM+fa4FQtNLjYuwsSRJT+1LVm4yzg==","signatures":[{"sig":"MEUCIGhn8n1b8hlQfs5R0uRSZxUjdena/yfwFD3ZwEote/8hAiEAguaw3orxZvyYBBKAgDE+vAJxZo8eWZSSQ59ty8EjPuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33147},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"b9fa8245483d17046875279b0d8f6cd93a4f45dc","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"9.6.3","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.21.1","dependencies":{"figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.2.3_1729647222195_0.07871383225398976","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"http-mock-json","version":"1.2.4","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.2.4","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"f989047f36a59d513b6e8c4193c0ad8bae57cd49","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.2.4.tgz","fileCount":47,"integrity":"sha512-0lLKF+zNCUq37vfiH7jyVKt+Mocrh7eEern/+OYmjIxdeK4l2xFbMfwRsRlhD9Nf9sMXrHEXSWIhqsQvpx0MBA==","signatures":[{"sig":"MEYCIQD/uaTw3+ENImBDOI8QY10Qlc+5VMEaAhpF4HSPf/xcAgIhAONQjcidEObl4jA/KEc0tFQSK0MAeOImVGITAmphEB1V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33147},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"b9fa8245483d17046875279b0d8f6cd93a4f45dc","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"9.6.3","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.21.1","dependencies":{"figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.2.4_1729647503847_0.6330898989766442","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"http-mock-json","version":"1.2.5","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.2.5","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"7caf5bd7b2cf97399a82e655c097a0910ead5ed2","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.2.5.tgz","fileCount":47,"integrity":"sha512-z7oGd4wQuk287n6ulhicIQNwB9Q/dyeS+v+qbZ+UR4gJtrwsjYXSt1kz2aJZSU0wAe/Aqi9gK5a0e6dU6PzaRg==","signatures":[{"sig":"MEUCICySfYgISdgnsexlnCQ2Ah0l2haMdMCSc0E1aaeYd5FTAiEAzVzO0ouhbC0hyS5s7q5lX9AUUUbAo4TrFTLaW2uRBWk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33147},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"94cfddeccb86c48570851cd73a5c0c15f014c134","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"9.6.3","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.21.1","dependencies":{"figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.2.5_1729692289539_0.6111518251181005","host":"s3://npm-registry-packages"}},"1.2.6":{"name":"http-mock-json","version":"1.2.6","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.2.6","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"63c04350884469395212e43d1d126618aa0cf9ba","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.2.6.tgz","fileCount":47,"integrity":"sha512-b3yqxCIZiYxJgxC/tQ6Pck4+NhmDM9pQ6kAxeKf0xFgSS4gS3CIqlHSU9twgi8ZvTu+praDQxyddkpxPQxKNxg==","signatures":[{"sig":"MEYCIQDogdwIR6onMWQQlit0kEf102yUjNG3JJXAw+0h8f4XCQIhAPjr7Uz4N2HgNd/zCr3U58vmFzQPQidRl3e6pRiyf1X8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33147},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"94cfddeccb86c48570851cd73a5c0c15f014c134","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"9.6.3","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"14.21.1","dependencies":{"figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.2.6_1729692872388_0.3464734210898246","host":"s3://npm-registry-packages"}},"1.2.7":{"name":"http-mock-json","version":"1.2.7","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.2.7","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"a038fed7e6e459c65f0d0d8bc1d4fd9d258b0b14","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.2.7.tgz","fileCount":47,"integrity":"sha512-pLb3T1ttUaq7BDnDf25INgQNBvkyOUe7CivLnxyMe+uP50nTuOG/dfmy9G3BqWPFFSQaWdZ0JrKSE+dVY0fckA==","signatures":[{"sig":"MEUCIDChPqigd+69gj9loknBGWqB0+uZfvjst15qwle6NvGzAiEA5KoR8n4Xf+y03DDbDaho5FTPkjL3jvHZBR6rT/MG/Mk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33199},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"eaea23eede640c47e2439475050b3221c3e6abd6","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.7.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"18.20.4","dependencies":{"cors":"^2.8.5","figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/cors":"^2.8.17","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.2.7_1729874565428_0.956187064459235","host":"s3://npm-registry-packages"}},"1.2.8":{"name":"http-mock-json","version":"1.2.8","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.2.8","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"9ef7d6b6f61fe37e41d2b006fa0f55eb9d916500","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.2.8.tgz","fileCount":47,"integrity":"sha512-gV5LvlJyAeaZZojR5xq41B21xD3KPiHGzxsrZavae9PPS22FmKk46UFD4Tvzff4YqDHU7Aidi7rjJda7H+z7GA==","signatures":[{"sig":"MEUCIEIxG7BI9UO/1/ijMtTh2R0MTPBy9i39eIFno2C7Mb8RAiEAo9ocg3luZAcxnQG6jr60bftdgpilJHPbqVMFb9jnof8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33284},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"eaea23eede640c47e2439475050b3221c3e6abd6","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.7.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"18.20.4","dependencies":{"cors":"^2.8.5","figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/cors":"^2.8.17","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.2.8_1729874661469_0.1100667511108544","host":"s3://npm-registry-packages"}},"1.2.9":{"name":"http-mock-json","version":"1.2.9","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.2.9","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"19881d9963b84a54c6619c3e0c557826f87a82ef","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.2.9.tgz","fileCount":47,"integrity":"sha512-WvXE3xuGpevjAPzXgV0Y34xDm2ANTpMLJjbyQJZXolQhaZWnOf2FfnGTrPG97JV6K285QRr7X3HFOf4e6J0Udg==","signatures":[{"sig":"MEUCIBouaWJAKcE+/gTSb07Q6i1ne5+odLcCfN8GBsE/ZggqAiEAupnQh/Jz8Dr67q7Nmi9JJPuayqG9fS46aHWNID4G8jw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33601},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"e1ca9c3a9ab9b93fded353a55a03ee7c53767619","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.7.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"18.20.4","dependencies":{"cors":"^2.8.5","figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/cors":"^2.8.17","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.2.9_1736311060612_0.8554079915383817","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"http-mock-json","version":"1.3.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.3.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"3dba5b953bdb18f8432e320eafa4c5b096a85068","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.3.0.tgz","fileCount":47,"integrity":"sha512-tV2TQe6hIrovLB/0kZhhnKOWO63Bx42IgbbKOyyXkBMm0u6DpCTGQ/2D3UMroQviaI8tboHNY6KpvAVQ2Vgs/A==","signatures":[{"sig":"MEUCIAqBNHmVik2q5OkvpPYv1v4POIepdKdRI7agc0SybVANAiEAop1RzUApN1oY+StvNpvvGI+5AE9VFkFfrljH2BTQPHg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33636},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"996a024a42ee9f41abd64d2d72d7b4e4c6c513a5","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.7.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"18.20.4","dependencies":{"cors":"^2.8.5","figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/cors":"^2.8.17","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.3.0_1736340603886_0.8228282745302822","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"http-mock-json","version":"1.4.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.4.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"fee08edad183587876db38350b10bf5a9af5903e","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.4.0.tgz","fileCount":51,"integrity":"sha512-Hu4wsA1ZT0dRZiOvRPs10Lw7gCZVw28gcrUCla2UTWCxWyfM4zfmBQuAyt/CVND92JgDyKI7duqevoJtvBMulw==","signatures":[{"sig":"MEQCIHqodI/8Nwtyj7yYN8+FAaKksYpECyjwGriX/tXVApzKAiAQw/+nPYk6IwKbPA/qljs9PX2YUjLCeqNTxqPnsDZyFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35092},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"cc0fe0d75b75a1729c9e7d306e8e7b82724e08d3","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.8.2","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"cors":"^2.8.5","figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/cors":"^2.8.17","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.4.0_1764212198871_0.8631449535936768","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"http-mock-json","version":"1.5.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.5.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"1992e1be99272265acb026c7c8ecc85da90a7a78","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.5.0.tgz","fileCount":172,"integrity":"sha512-ra7w4+mnEpZY9P7d5uvR3WXWvmNHGpYbiFnBeDTJ6JMZpX2QPL0157xDmIV7Otbdu8pRDm2AW5dj50Onm728uQ==","signatures":[{"sig":"MEYCIQCeKXlmFwS4JtQNaryYkKg7M6bBLPzTCm1ALsLilVBymAIhAM/p16fYIb4EJbr1ZylKHdApffxoS0viPB3dCZumv9Vg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94115},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"9324d2d97d3aa3bdee88adf79a7e63b6999917e6","scripts":{"add":"node dist/index.js add --path","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.8.2","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"cors":"^2.8.5","figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/cors":"^2.8.17","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.5.0_1764424827521_0.03448392728919991","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"http-mock-json","version":"1.5.1","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.5.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"02bd25da4810696d6603ce5a34eea94a237890c8","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.5.1.tgz","fileCount":143,"integrity":"sha512-WUt5ohG6r0JcfeUiQwmqrPS4PPljhH+g31I74XNF3vMdqJBhvMAd35WWMWehuBPgQ3lvnzIrHWIn7RSpqhS/Mw==","signatures":[{"sig":"MEUCIQDgvqh4ow+j3h0PYLk7qLsSJGW4beFpWJ0yW2kiO4IvoQIgPoVFR/tcWRAGODLchqqtpjOvVDs+FuRL286WGDIDSxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103356},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"9324d2d97d3aa3bdee88adf79a7e63b6999917e6","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.8.2","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"cors":"^2.8.5","figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/cors":"^2.8.17","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.5.1_1764463679968_0.3842897585432483","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"http-mock-json","version":"1.5.2","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.5.2","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"97c18d68bed436b4a1a2f7c8d01880ebe3c5926d","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.5.2.tgz","fileCount":143,"integrity":"sha512-8V6uAAbvecYGV2C93tj02tuu13CLkarRoTxbFoSLEVTkH+l3zeBdd4OT+PeIB1ddmGodTDJiwBxGaWOIBNOOfA==","signatures":[{"sig":"MEYCIQCPbVeCh3bKsGTFhnO5/i0uDwsG07dGd0lHq1kVLuKO7gIhAJaTMKvHL08xNuTlAWv3cN6L71FCHju4QhqeYq67uuxa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103721},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"e45e76e3d5051ffb01c9ef229243a7137912661f","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.8.2","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"cors":"^2.8.5","figlet":"^1.7.0","express":"^4.19.2","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^12.1.0","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.2","@types/cors":"^2.8.17","@types/node":"^18.6.0","@types/figlet":"^1.5.4","@types/express":"^4.17.13","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.5.2_1764464459695_0.5741695172646781","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"http-mock-json","version":"1.6.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.6.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"080caf9a17a2eb229d8085fbffa00ca32b240750","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.6.0.tgz","fileCount":224,"integrity":"sha512-A0G/s8D/OWpY5z+RHuVeEq1bmsRgMkQI45+RF8TSoIJxeqmqyInoj2CNsovv1BtC0uU/iWRkuUB84r5l6wQXkA==","signatures":[{"sig":"MEQCIDJlhoEnG+X7mWLi2G4jMJcIZPlsKoL2UgI6X0+FxlbTAiA5o3Q96CkqjGF7OHZoj/sH0BsijAQfBvBGgY7YoghlLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195438},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"034cd870f8835595831e02e19451782992543250","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.8.2","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.6.0_1764494263694_0.3209044557834513","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"http-mock-json","version":"1.6.1","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.6.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"672124d183d88a3eeaa05cae8e0350d35e0f56e4","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.6.1.tgz","fileCount":169,"integrity":"sha512-Ts1IntaXYRzrO4u+qbSgLcDH6M0o74XHqsV7vWNRny7k1N0QANXeHP5SC1bTXZe0VyWdztk8lvK3XvLEFbyPtw==","signatures":[{"sig":"MEQCIAEiHWMmdhjAF73boMm2si9nPk5tusEJMOIzTZtJLapBAiBOxtyQ19JMV4V1LKnOcIY9pfg762uyKua3GyvOs2+HoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261583},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"2c6c163703bb58a394022df7b9cd3392faf53c2f","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"vitest run","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","mock:start":"mock-server start -p 3001","prepublish":"npm run build","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"10.8.2","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.4.0","vitest":"^4.0.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.0.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9","@vitest/coverage-v8":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.6.1_1764687257823_0.7536378242393356","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"http-mock-json","version":"1.6.2","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.6.2","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"3baa00c736ab3fcc07e32514a1b1abaeeda2b53c","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.6.2.tgz","fileCount":157,"integrity":"sha512-ipBW9RohXIxu/pwO/zeOJYebjBvWlvgmWL6P+Oh4SSAqclNTNJzwXMKQXY+oWVaXI5PBZqsiCFsBhk9TccQYPQ==","signatures":[{"sig":"MEYCIQD64B07BONNB+eSo3/WQ3rJI/X0gCEql4KxgF/7PyHiqgIhAMbqVbIuqkxuQpXwKdc6+ApGrJA8C4uxhkn8kXtrePDJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202831},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"be5eca10ea5cf80eda0ad9efb742cce0b87dc6bf","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.12.1","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.6.2_1777234261635_0.09650012410444075","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"http-mock-json","version":"1.7.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.7.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"1582b778a4eb5e61a5634861c53188c9d293bcf5","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.7.0.tgz","fileCount":188,"integrity":"sha512-zIqXJ5zWfAy+/NRwDZ7He2KZhxfI/SbXdxBE/4U0Yc/D838+iR7xkAXm6+Hmojya2un6BMrMUjJAK87tlKsKXw==","signatures":[{"sig":"MEUCIQDnHJ1Dq09l098oOzoGt3O1CfvjQxFoPiXo9A74cKpg1AIgeLR1n3ZMp57rU3TYc/vfwWhQ4iLnaFeXU63hyZclJKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":250714},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"72f0833aefc8218ec6b69c1bce384426ad532e2c","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.7.0_1784523511427_0.07124611880000198","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"http-mock-json","version":"1.8.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.8.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"95901f551a89168fc7d7dd236bd7899e05f3975c","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.8.0.tgz","fileCount":188,"integrity":"sha512-0yibka+LyYBq7rnZcPSQ9LWs4WNkKWOKZYJxX+MXuko5jJp+cChlVWxqq3vnYAV7rtAPgjHRzM8MBk807XoT0Q==","signatures":[{"sig":"MEUCIGZ6BZXVIUuzcu8mCBGhqegy611gYxW+WYcGbAlIJMhaAiEA9oyd+v5c2piKOWsp2p4XyfffRDkcWLz7d5tzTcH9SXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":254423},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"e9a650d54f6a3bb16b62ae526e95083e8ab3b319","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.8.0_1784525168070_0.3146331760239751","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"http-mock-json","version":"1.10.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.10.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"2d41d073556efd729243d202196d9a579d11d62a","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.10.0.tgz","fileCount":292,"integrity":"sha512-Y40SCD6bPPtm1zYmJDfnP5ZXZDWcrNGQqhnto2jgOQhzvRpa9O1sj8A3hVwpNreMK7cjJHnTaK1QPFTVw1/pxw==","signatures":[{"sig":"MEYCIQC3WmZXwvCnVgvR+c/DLuhx5wadQeKpeW7Fflo/294diwIhAI6lq9GF1hXMRcMp244dcg+cuj/QiP8Fy8FrlRH04mXS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":513580},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"faa249d6c97d08e3f8905ecae54945e7c8a35fba","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.10.0_1784619436067_0.08446512860305178","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"http-mock-json","version":"1.10.1","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.10.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"c57cfb439a538aa41e6723a3a9b8b53c501e97d4","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.10.1.tgz","fileCount":292,"integrity":"sha512-1wZz1aUtDexIkOa/A2Pbi1Kt0T3FGSO/wb4zx95s+T2bG4w2QPAPMOqF+pQGT00QRaQV8Lla1BqJVtpEPy20vQ==","signatures":[{"sig":"MEQCIGHb9iNK+KKZo6le6vzNAqQ8B5gCz6ExoJeMB3XMKBvTAiA7TVKS0AujmirQ5URLwknHvGC50JsQ7wdD/xBWhJfpQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":513601},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"f0520bc25ac8d4de0821998707ee0fddf0cd7a5e","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.10.1_1784955640347_0.3331433751912636","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"http-mock-json","version":"1.11.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.11.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"335d9d6e4118aeb5ea3b4d24c5dcf6d19bc1690e","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.11.0.tgz","fileCount":344,"integrity":"sha512-/4eDXNptBbCHyI0mz74iDCyl6/KXYbHLzFvC0m+cwkZGZjZwEP1heORIzTrD2tOK2HtiZtmM/kE+PH9z9yXrnQ==","signatures":[{"sig":"MEUCIQCQW94A60vcEwPVQ4IQ51Y5bIerpCpoqiHrXWhgAM0lrAIgEzZtHEIMdelUekXuUqy8tXTcOfsbi8nPudGzWOJLv8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":733396},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"c17cd867cbb17a87b882cc6a7fc4eceb2d155f5e","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.11.0_1785052440567_0.10195595739229746","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"http-mock-json","version":"1.13.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.13.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"8e92abec3f57b1685403d6ba2208a76b6f3b2ac3","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.13.0.tgz","fileCount":371,"integrity":"sha512-HlCYcX3ygZJP4Xhq7ooAiTIxKHm0cQ5FEEJu8JPqmeSN9vF2smRNoq1UIl1PzjBUUepnCp0qjmFSM6A/Wg47sg==","signatures":[{"sig":"MEYCIQDJ5DV2conxxBQ3oVW/QIk02MXmknQY8AhRaj7Wr5sRYQIhAOCpJjmK7Q+6aeh8L5YgNZQx/Ylm3eIbsNtyH+A9eMDb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1009136},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"7547f220afc9d38c637e0193f327f158c7f7489d","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.13.0_1785177227332_0.0008276976316057283","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"http-mock-json","version":"1.14.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.14.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"17749f2e741ffe4954592606e6bd521816258460","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.14.0.tgz","fileCount":378,"integrity":"sha512-3yB2+YWDL/PNXnV+nuOFGJyTTKk1YRaDQLr/NVJax4TTaZziF9Ng+Cz7/HremzjDj4a6F1IPFXu9eGd4UPOh1A==","signatures":[{"sig":"MEUCIBigchelXicV47Uvh7f47gjEbktz5SdBc5l3h4E4nifQAiEA2rj8Q1K2sczbzAQ+yCvhKOrRfetpzki7pPPADzY+ej8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1049799},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"c5a7fa2e5a87e046a0e074bd131ba9a7b7e00327","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.14.0_1785213908347_0.010822180741125065","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"http-mock-json","version":"1.15.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.15.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"25174ecb4a976ee42108c95dc2ca19ca1497f8b8","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.15.0.tgz","fileCount":388,"integrity":"sha512-KSh0Hn8QBmSmhCJwETQ+SkbN6fB+FZDmeTDcqnnTj2f+PpsWQPIFa7ScGsRZj7J3u9IDRi32fUD3R2IErHSVjw==","signatures":[{"sig":"MEUCIQC2NXCozV8XHevVOSM4HU0yjdJestK1gmjZkh+E5s6srgIgN9XZGT6XKsWSKk8dTzSpeXDWrTSqb2GCvtVQ1SuPho4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1212283},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"0298151a9ba0ae06549308bd60738da977b98037","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.15.0_1785232828471_0.6224240591358179","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"http-mock-json","version":"1.17.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.17.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"a63d5892a8ea7b8747dc37db9b85b933adbfc1b1","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.17.0.tgz","fileCount":395,"integrity":"sha512-pPwRfHP4Rp11BsPvr4HQnEQARkfq36ASSHz0VdZtxE8pp6aoA3JPRQ7fRCcNpVt5W2MhIfRfnsEZGQcAXkuudw==","signatures":[{"sig":"MEQCIESCMc51GRahhmhbiKRrBSOjfJRcjL+FqymC5jc/pya1AiAHGlfqXgaoAPV2c2BvhZ3q2dMEuEwfxDCn7tYTgetY6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1288974},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"e70ca4e4960782d2e47c830b8c4dc5406a0dde05","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Allows to create a mock server and test the frontend without depending on the backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.17.0_1785239710200_0.39268506130980496","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"http-mock-json","version":"1.17.1","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.17.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"dfbaecb0caa57df5f1f2445b7b50ac2990c6655b","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.17.1.tgz","fileCount":395,"integrity":"sha512-LcGCMlAgqWMDMUVcXyXdUj5lcxebH8IoVct2DnKNM9D9v1pCWtFqUHpoG7S0siQcx8RWYbPZrUemS1EYZi0TzQ==","signatures":[{"sig":"MEQCIDchPuiK2sQsT0ya9WEN5FwYtCJXMRw10CAanc+IZAGkAiBKcO83CAu39rHpBUB26PAIFsfoBr0RlkHvgAG0PLP2Xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1289380},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"994aeffb93fc81f7311cf2da4a34939653f51c52","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.17.1_1785240681169_0.6730804617602621","host":"s3://npm-registry-packages-npm-production"}},"1.17.2":{"name":"http-mock-json","version":"1.17.2","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.17.2","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"1ed78d99d3b21f82f538f85ee20c883f43976f1f","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.17.2.tgz","fileCount":395,"integrity":"sha512-7PYTc0Z+SDtyen5wRGRnz95BGp7jzgWo9be63KHtLNSJfJNszfkPj76AweBWRuXbARSTyjynV/MrabbKB8SSkw==","signatures":[{"sig":"MEUCIQDavW6rh1C+83lhfK1OBHi+bs1j1vxxiiVdPAj6czLR0AIgJ4ZDB/xk/IP1qDbDeHpe47XALFG8yRHl4K8V6vT4KN8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.17.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1334882},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"f4cfbfb51bc23d9993caf1fe3ff83678c2e2c891","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.17.2_1785261292606_0.14323180446949113","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"http-mock-json","version":"1.18.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.18.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"b98d25f1a8cf855df054c7f973bde75da4d5327e","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.18.0.tgz","fileCount":421,"integrity":"sha512-EKdu5F6CHNipBic8Fulcp6iEavHY6ehtNp3GSvHkmGYm40svO9hxLUzuYBDI3WDZMwYiok3ryyDQakHe9zlUtA==","signatures":[{"sig":"MEUCIQCNBP67H8XA8N0vjUCkegHFnjZqwR+UGxikbQ7ifqxeiwIgDjnYBKGzbHcpNodLy2BycjWipHZooxbaqAzXCe/smR4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1477966},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"438528580d04301e8e0cddbe247e4eff33af5f15","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.18.0_1785275451850_0.472313024948279","host":"s3://npm-registry-packages-npm-production"}},"1.18.1":{"name":"http-mock-json","version":"1.18.1","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@1.18.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"a401a64e888023e6b97ac58ec85533accc0aa485","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-1.18.1.tgz","fileCount":429,"integrity":"sha512-YqfpmFo6SM1Hc7kPKGzI19O2an9XEaflr60b+5DsfWaPdcNLXbPpNjpJpVTeZSGjNN6RT4p0G90BkDreedtjBQ==","signatures":[{"sig":"MEUCIBivzprHmJpH0CI8lTzX0+Y7cXuEtcl1mroK876UAGZEAiEA5hpG4Cw9Uj67PQxeKBO1vZQCtRypulKSgiSbf694WXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@1.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1505382},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"e7e06f9cbc6b36ac6b2d69a8f5c9d383c80f35a5","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_1.18.1_1785277926430_0.12549258878995162","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"http-mock-json","version":"2.0.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@2.0.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"3ec56e5701d1be85175dbe6730fcec7e80d7dc58","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-2.0.0.tgz","fileCount":438,"integrity":"sha512-fcpDd2cMQGrs0hKE4abwxjC9RckA4jGjBOE77QD4h1x/oXk+Za0IHgterxFM1F5Ee4nqdNvBlFK0HVprFY3YHA==","signatures":[{"sig":"MEUCIDcctSruVXTTxCHnrPBRwmSHCnJRWhEefkDd+ofyYiDMAiEA6WMgyR56INBhv8dWCrt+xJ6n+9u86i05E2NVyOm+P2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1515928},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"4e66549fd1b076f9444eccba25f9511d050fae68","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_2.0.0_1785279157240_0.9397459443724772","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"http-mock-json","version":"2.0.1","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@2.0.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"1d0bfb43dedc0a4b0072cb6d6d5d139251b2e672","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-2.0.1.tgz","fileCount":438,"integrity":"sha512-5Zdmy10YBMvqOhTAqPe+dyNlePPdw7+L9naa98viTh0nWmIOeyG/ph2QDVjUcB+Lc1/xG55N+WSQoIRyGFhLYA==","signatures":[{"sig":"MEUCICt88gbh5Z1Y2P96mzXSOdHRFGrpDRFqbPDZcYMskX2rAiEAitS+Rez/u41lpNEbJBuh0O6VirWm1cofOBuhc7Q7Nwg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1516091},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"2d93ae55c59089446de510cfff65114b3240dcca","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_2.0.1_1785280980039_0.3223784288061482","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"http-mock-json","version":"2.0.2","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@2.0.2","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"b9885da3704901e058291a8d3c363e1ca57f39e3","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-2.0.2.tgz","fileCount":438,"integrity":"sha512-3HbVaLJ3TmoRhBhIWkLcGyHJyPxD9ukHKO/EGXNROrZC93vsLmzSdu60gcYqTXkhnuKRdIG79p+W+NdPSR0mrg==","signatures":[{"sig":"MEQCIDXDMeaVrysTgxq19fEU4lKRjFajZ8U/nkRulasQTnHJAiBsvJa63mVgU1ddSWglfKgtgyjXKg1ps0hpCmOv9urM7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1517391},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"d5f4c049f7fbf49345e767c486646f20bad70f92","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_2.0.2_1785283643728_0.46430750785505026","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"http-mock-json","version":"2.1.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@2.1.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"c670552ea97946033bc2b16140e9b950fef2fa88","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-2.1.0.tgz","fileCount":449,"integrity":"sha512-2PiQ4eUReJYD8z4+cWQZaIE6D7jIa1K0QD843CPsECb7bMjMmgwsUyVnu3/rLDesBLuzwjyBrv1G3z2bYAuPnA==","signatures":[{"sig":"MEYCIQCqgD6VUxjL7OvUHX4EAuWwlCmoXVCXRkoJRz0BOqzRTgIhAIRwRD/kmLpk7L3qB5yC5D4SbdV8uOnGNxzajw+TL2Je","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1542348},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"4040e483d7fe3c56ba12a748194889a2f927823d","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_2.1.0_1785288672520_0.6961859409194862","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"http-mock-json","version":"3.0.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@3.0.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"b1c6e0972b946f5808603343791f866081bc3011","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-3.0.0.tgz","fileCount":315,"integrity":"sha512-S/iYkXEtB94vSVsfmrehswcBEvR4PbDQjP7kG+HlQEcHCb0CyWFjRXBYuBldgK69tyuleu9CJk15ViqumknuGQ==","signatures":[{"sig":"MEUCIQCUPkRXDF3fbfj2bwqiJhPkXlYgQ4itRwtdxuWD2h0qowIgDsy7xY6iXXFRkAgwTkfQWubLo/utpdaydqHygbuAy+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1049776},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"5a8d9ec51e0686cbc5414ba16a27749757045e8a","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_3.0.0_1785290078883_0.9864573379127333","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"http-mock-json","version":"4.0.0","keywords":["mock","json","api","rest","express"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@4.0.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"b55866ded94a4ecec47cc061c4cb0fcf566e6dfb","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-4.0.0.tgz","fileCount":347,"integrity":"sha512-eE7AmYFfsmL7ceZX490xroZaoBizQOC5FjKVdf3BtapFYo6mv3JdziCFlsbfbUN8nI9vpnW1bJF0mEYEoRFXdQ==","signatures":[{"sig":"MEYCIQDY2UIkOVx666FP8jAa93dGIckBugJiWsPGJLDCnt7LkAIhAP4gZ1mOdUz4/fh3UI3hzE7EH03qgmvem3veFa4+c4Kc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1165491},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"db77dbad9c6128cec11b662a9e19b7bceaff5f35","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_4.0.0_1785364858492_0.7587252741241968","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"http-mock-json","version":"4.0.1","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@4.0.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"59ebf0e8ec44fe87b1adc4d9769128663c58a292","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-4.0.1.tgz","fileCount":367,"integrity":"sha512-qv3sZ/xFu6okYofYQF/SUWzmj8RBiNEGdeI/JRkR1DN08WgYeKf9pygJDfuyuzTtIR17hdRXZBi8ol8n2v3/oQ==","signatures":[{"sig":"MEUCIEMZyIlHbGmQyLdKr9CG1vGIQOWejGOEi4HUkqj3ekCTAiEAkVRH8JecgX3PyK2VshK+PtobhoOjfNMfdnyWAardtQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@4.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1258653},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"9b684b6c511dd36793908397f8e9ac5288fe12ff","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_4.0.1_1785396825043_0.37666643288443136","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"http-mock-json","version":"4.0.2","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@4.0.2","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"4403f6a36113accbf96dfae276a20df523c53b67","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-4.0.2.tgz","fileCount":367,"integrity":"sha512-cv9JwWOA5EQ8m9s2McmEETIpC8OpNk2QM9UNVBhlgiI5zqOvB7Km9aj19+xe/nQPVwo+CybZM9hHuNAfBn3WAQ==","signatures":[{"sig":"MEUCIQDMV2J2pVfeBcRDryT1ikE9dhpBAryn32HNwjU/rdDBJgIgJ7tdgMGacQBaunztpndM6cFKQ8lpFW7r7DjUVlTqHPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@4.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1259033},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"8e4406b5ebd8bbd43647fa1dcc40eadd957a09da","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_4.0.2_1785398280448_0.9156751229021163","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"http-mock-json","version":"4.0.3","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@4.0.3","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"6c56fa15553c84a873f9b1a796c1337d96032c4e","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-4.0.3.tgz","fileCount":363,"integrity":"sha512-CJMW2oXwIgs/9dWvbVZHAMqa3qGlTS0rVNELNAfgRA8TZYBdvR63XA2/Cry9HSNtRqAl/uw2OFt69EESlOQZ8w==","signatures":[{"sig":"MEUCICJHRsvZFP3uOx6SvJ6QoNalg2vIHeLmp/pYoj2CYXNJAiEAwLybs0wY07R89M95jvpjL90XOhvuJeRol5AL9gXTI4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@4.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1249286},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"9c455c8bc8f93f2629ad822e98b63e6642fa773c","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_4.0.3_1785473619187_0.7783847456956077","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"http-mock-json","version":"4.1.0","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@4.1.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"45b44a9f4ab357298e6954efd11108386063cf31","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-4.1.0.tgz","fileCount":400,"integrity":"sha512-8XWzsEgydKOl28ClRaCp1p8wHYUobUFB6pFvEbPJsEls4sGMtGaeWL8uh/L3/8LIyJRaKc75NPSgydUngtLvDA==","signatures":[{"sig":"MEUCIHMRl8w3X633CGoDbGGV0kRldlJHe1vfRkakQH6CpnV7AiEA4MUu025Cfj/GBkGgkZ8yC3GYDgF/nsSjJ9fogWvQyJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@4.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1338923},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"d4666ac91abd25517f77feb26b198ef436a9bfac","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js --suite classic","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build","test:e2e:all":"node tests/run-e2e.js --suite all","test:e2e:external":"node tests/run-e2e.js --suite external"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_4.1.0_1786064524635_0.16143676912113514","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"http-mock-json","version":"4.1.1","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@4.1.1","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"cf514a484ceae5e87b162bba74e316dc80615a3c","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-4.1.1.tgz","fileCount":400,"integrity":"sha512-quvFil70BdggQoxcxayXBMCBAZZWiNozuKjmUfK98wxmUBF2rORuJI8dnJS7vkb20mSjaYj2aBk46hk7ypE+jg==","signatures":[{"sig":"MEUCIEqRxgIKpbNEFt4ar9rYcNLO6aw12xUSHVSSQTund8FkAiEAgdDj4se3cRRCPi75SCqiiHaY4jxGBcUaqTlV7dViL+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@4.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1339924},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"gitHead":"97364392a5f003c694e0ed790f054e170cf87c15","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js --suite classic","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build","test:e2e:all":"node tests/run-e2e.js --suite all","test:e2e:external":"node tests/run-e2e.js --suite external"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^14.0.2","sisteransi":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^18.19.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_4.1.1_1786172273078_0.7988812434524857","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"http-mock-json","version":"5.0.0","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@5.0.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"1d66b476a1b7b472a0dbb19b41a4bb94f538e11c","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-5.0.0.tgz","fileCount":400,"integrity":"sha512-+V1ttgE09Ccmxd7UPYIcxVsQ6wK17uvHwCAZD6v6S1UCSJk/PJULR5sQpGGagFO/r2cZan3IV8VD5XfFVX180Q==","signatures":[{"sig":"MEYCIQDxk9kygMNSb8/6YZ0XNsHztMcW1poGNdeSKlbYoce1QwIhAICGVymxsXkd3PkX/6cx2LgKl1TvnBJKCkbCVVoJabYZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1367776},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.12.0"},"gitHead":"22afe6e9d4d97e6b5e7740145ed0fe12cbceaac2","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js --suite classic","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build","test:e2e:all":"node tests/run-e2e.js --suite all","test:e2e:external":"node tests/run-e2e.js --suite external"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^15.0.0","sisteransi":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/cors":"^2.8.19","@types/node":"^22.0.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_5.0.0_1786173479489_0.11500282020790076","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"http-mock-json","version":"5.1.0","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@5.1.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"c5258961acfb8ed100fc69aaf71767ee31ad4e09","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-5.1.0.tgz","fileCount":420,"integrity":"sha512-ydSU7uWb/fwKeUZP4nyvlMrVkFuBR/1TSmKNIz5BuJpbb7tgvUp+wvMIEDG0Y99qjyda95xXV49Y1gT2CG+OYg==","signatures":[{"sig":"MEUCIF5Puy353SZ8E7NstP1XNZoYgkCF8X8zO2/lPrFryLGPAiEAxFpaMu+LniJNXmZPqgkEu2bZewb0jrgadPQdTbhYVY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@5.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1440284},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.12.0"},"gitHead":"ed8a4cfe93f78617bdc170da5b0d5999d1de1342","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js --suite classic","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build","test:e2e:all":"node tests/run-e2e.js --suite all","test:e2e:external":"node tests/run-e2e.js --suite external"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^15.0.0","sisteransi":"^2.0.0","openapi-types":"^12.1.3","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/cors":"^2.8.19","@types/node":"^22.0.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/js-yaml":"^4.0.9","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_5.1.0_1786312432685_0.21970841829907095","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"http-mock-json","version":"5.2.0","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@5.2.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"5cae2d89207a9e39dd88b3b61ce1225303b69f71","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-5.2.0.tgz","fileCount":424,"integrity":"sha512-ff3abRTUv/h0Fz2sQ9zDSAkyN8QCRcnsk2B7de7V/92H8C1q5PTwpMhULlX+3DlGSAp4GkyadWvYKZn2WfqtYw==","signatures":[{"sig":"MEYCIQDjpUXoCxDdAVDQPcjSL0r/5Wqmdr6GIOAGf3SoIR7s0wIhAK2J5vIW/wVZOc6XiSRYxF/XcpDPrtLUqW1dBdQrqzQ3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@5.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1470095},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.12.0"},"gitHead":"a29c930e1e37da7ef5f66c6dfccbe5d9790d5f63","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js --suite classic","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build","test:e2e:all":"node tests/run-e2e.js --suite all","test:e2e:external":"node tests/run-e2e.js --suite external"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^15.0.0","sisteransi":"^2.0.0","openapi-types":"^12.1.3","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/cors":"^2.8.19","@types/node":"^22.0.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/js-yaml":"^4.0.9","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_5.2.0_1786317284539_0.5433211078046425","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"http-mock-json","version":"5.3.0","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@5.3.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"bdb2c470bb7e55be9cd6182ad5977c59b0b62d40","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-5.3.0.tgz","fileCount":452,"integrity":"sha512-MBuyrtgarMJko3VPzdwWsaTe5ebMB7r5fSPYqofRa/BEwZPOFzMOC1Ia5VUKpSw6vwqkHkufpcP3MwfaO8WvdA==","signatures":[{"sig":"MEYCIQCLNtv5T+eOoFb+nO+eBPMfYaRiyrdWbdWG+UJjXhs/WgIhAN13aI/J1GY63WEZ+rTg+Vlb87+tVZXvh2lem6xZTBav","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@5.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1536304},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.12.0"},"gitHead":"1655fda7d8223a855d3de00af7a2703258131621","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js --suite classic","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build","test:e2e:all":"node tests/run-e2e.js --suite all","test:e2e:external":"node tests/run-e2e.js --suite external"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^15.0.0","sisteransi":"^2.0.0","openapi-types":"^12.1.3","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/cors":"^2.8.19","@types/node":"^22.0.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/js-yaml":"^4.0.9","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_5.3.0_1786325868915_0.23885472315227507","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"http-mock-json","version":"6.0.0","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","_id":"http-mock-json@6.0.0","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"bin":{"mock-server":"dist/index.js"},"dist":{"shasum":"681337b77340773f63883c0e62330b347dae8f51","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-6.0.0.tgz","fileCount":456,"integrity":"sha512-txF5C3N+qOlDa5cMOPb53IonaAYQXdrmOeKBifaPyWFOsPPKvbADElBNLSJ4aoCJ1B+lN27evUPHABQ0qrUqEw==","signatures":[{"sig":"MEUCIH7nO9PeUstG6gQ4AsM40vCiHVCAGJrkL6kCqpq0oc81AiEAv+BdUXPlglGZuMmdxBL3DGTuL6wunA1N3TV8JvhmuA4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1539129},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.12.0"},"gitHead":"6bd18b750c24156bd262e471b741a0aa353ac0a6","scripts":{"add":"node dist/index.js add","init":"node dist/index.js init --script --mock","test":"npm run test:e2e","build":"npm run build.tsc","start":"node dist/index.js start -p 3500","dev:add":"npm run build && npm run add","dev:init":"npm run build && npm run init","test:e2e":"node tests/run-e2e.js --suite classic","build.tsc":"tsc","dev:start":"npm run build && npm run start","prepublish":"npm run build","test:e2e:all":"node tests/run-e2e.js --suite all","test:e2e:external":"node tests/run-e2e.js --suite external"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"repository":{"url":"git+https://github.com/alejandrorodrom/http-mock-json.git","type":"git"},"_npmVersion":"11.16.0","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","figlet":"^1.9.4","express":"^5.1.0","prompts":"^2.4.2","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^15.0.0","sisteransi":"^2.0.0","openapi-types":"^12.1.3","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/cors":"^2.8.19","@types/node":"^22.0.0","@types/busboy":"^1.5.4","@types/figlet":"^1.7.0","@types/express":"^5.0.5","@types/js-yaml":"^4.0.9","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/http-mock-json_6.0.0_1786329599485_0.9869351566468842","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"http-mock-json","version":"6.0.1","description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"start":"node dist/index.js start -p 3500","init":"node dist/index.js init --script --mock","add":"node dist/index.js add","build.tsc":"tsc","build":"npm run build.tsc","dev:init":"npm run build && npm run init","dev:start":"npm run build && npm run start","dev:add":"npm run build && npm run add","test":"npm run test:e2e","test:e2e":"node tests/run-e2e.js --suite classic","test:e2e:external":"node tests/run-e2e.js --suite external","test:e2e:all":"node tests/run-e2e.js --suite all","prepublish":"npm run build"},"type":"commonjs","module":"dist/index.js","bin":{"mock-server":"dist/index.js"},"repository":{"type":"git","url":"git+https://github.com/alejandrorodrom/http-mock-json.git"},"keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","engines":{"node":">=22.12.0"},"dependencies":{"@apidevtools/swagger-parser":"^12.1.0","busboy":"^1.6.0","chokidar":"^5.0.0","colorette":"^2.0.20","commander":"^15.0.0","cors":"^2.8.5","express":"^5.1.0","figlet":"^1.9.4","openapi-types":"^12.1.3","prompts":"^2.4.2","sisteransi":"^2.0.0"},"devDependencies":{"@types/busboy":"^1.5.4","@types/cors":"^2.8.19","@types/express":"^5.0.5","@types/figlet":"^1.7.0","@types/js-yaml":"^4.0.9","@types/node":"^22.0.0","@types/prompts":"^2.4.9","typescript":"^7.0.2"},"gitHead":"17baaa02c20e8eaa6f34b42c0c3103ec053f7110","_id":"http-mock-json@6.0.1","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-3pYDhx+y77NB8ShZC99v80ZA60P8Efrhv/iIOBd60gXBqygFKwtFCAwouUgID1VOCq0ILTNN+EzGkSvqj1s8yQ==","shasum":"3fa480f1e94f7710fd48f39bd654129240481827","tarball":"https://registry.npmjs.org/http-mock-json/-/http-mock-json-6.0.1.tgz","fileCount":458,"unpackedSize":1547306,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/http-mock-json@6.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCu4lB7rlEFC8NAn8dX4Ur4HnuIANXAuR7JqS/hmQXNBAIgLUsAvG6kY52zJJc9438c2utHKFGS3GldWunFZ6l4mjE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f5cafd7-bff9-4313-a012-34098c323686"}},"directories":{},"maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/http-mock-json_6.0.1_1786336331266_0.14189212733150347"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-27T06:44:53.416Z","modified":"2026-08-10T04:32:11.757Z","0.1.0":"2022-07-27T06:44:53.608Z","0.1.1":"2022-07-27T06:55:23.934Z","0.1.2":"2022-07-27T06:56:41.656Z","0.1.3":"2022-07-28T16:49:39.046Z","0.1.4":"2022-07-30T05:02:42.442Z","0.1.5":"2022-10-29T17:14:09.832Z","1.0.0":"2024-10-17T19:40:46.416Z","1.1.0":"2024-10-20T17:45:02.083Z","1.1.1":"2024-10-21T02:30:29.498Z","1.2.1":"2024-10-23T01:00:13.591Z","1.2.2":"2024-10-23T01:02:50.084Z","1.2.3":"2024-10-23T01:33:42.396Z","1.2.4":"2024-10-23T01:38:24.090Z","1.2.5":"2024-10-23T14:04:49.783Z","1.2.6":"2024-10-23T14:14:32.581Z","1.2.7":"2024-10-25T16:42:45.657Z","1.2.8":"2024-10-25T16:44:21.644Z","1.2.9":"2025-01-08T04:37:40.850Z","1.3.0":"2025-01-08T12:50:04.089Z","1.4.0":"2025-11-27T02:56:39.086Z","1.5.0":"2025-11-29T14:00:27.711Z","1.5.1":"2025-11-30T00:48:00.163Z","1.5.2":"2025-11-30T01:00:59.924Z","1.6.0":"2025-11-30T09:17:43.905Z","1.6.1":"2025-12-02T14:54:18.049Z","1.6.2":"2026-04-26T20:11:01.779Z","1.7.0":"2026-07-20T04:58:31.566Z","1.8.0":"2026-07-20T05:26:08.218Z","1.10.0":"2026-07-21T07:37:16.269Z","1.10.1":"2026-07-25T05:00:40.516Z","1.11.0":"2026-07-26T07:54:00.729Z","1.13.0":"2026-07-27T18:33:47.559Z","1.14.0":"2026-07-28T04:45:08.563Z","1.15.0":"2026-07-28T10:00:28.628Z","1.17.0":"2026-07-28T11:55:10.368Z","1.17.1":"2026-07-28T12:11:21.368Z","1.17.2":"2026-07-28T17:54:52.781Z","1.18.0":"2026-07-28T21:50:52.008Z","1.18.1":"2026-07-28T22:32:06.612Z","2.0.0":"2026-07-28T22:52:37.432Z","2.0.1":"2026-07-28T23:23:00.208Z","2.0.2":"2026-07-29T00:07:23.958Z","2.1.0":"2026-07-29T01:31:12.690Z","3.0.0":"2026-07-29T01:54:39.104Z","4.0.0":"2026-07-29T22:40:58.723Z","4.0.1":"2026-07-30T07:33:45.179Z","4.0.2":"2026-07-30T07:58:00.628Z","4.0.3":"2026-07-31T04:53:39.342Z","4.1.0":"2026-08-07T01:02:05.092Z","4.1.1":"2026-08-08T06:57:53.221Z","5.0.0":"2026-08-08T07:17:59.642Z","5.1.0":"2026-08-09T21:53:52.837Z","5.2.0":"2026-08-09T23:14:44.701Z","5.3.0":"2026-08-10T01:37:49.044Z","6.0.0":"2026-08-10T02:39:59.650Z","6.0.1":"2026-08-10T04:32:11.447Z"},"bugs":{"url":"https://github.com/alejandrorodrom/http-mock-json/issues"},"author":{"name":"Alejandro Rodriguez Romero"},"license":"MIT","homepage":"https://github.com/alejandrorodrom/http-mock-json#readme","keywords":["mock","mock-server","http-mock","api-mock","json-server","rest","api","testing","frontend","nodejs","typescript","express","dev-server","stub"],"repository":{"type":"git","url":"git+https://github.com/alejandrorodrom/http-mock-json.git"},"description":"Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.","maintainers":[{"name":"alexrodrom","email":"alex98rodriguezromero@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"assets/title.png\" alt=\"http-mock-json — JSON-driven local HTTP mock server\" width=\"800\" />\n</p>\n\n[![npm version](https://img.shields.io/npm/v/http-mock-json?style=flat-square)](https://www.npmjs.com/package/http-mock-json)\n[![npm downloads](https://img.shields.io/npm/dm/http-mock-json?style=flat-square)](https://www.npmjs.com/package/http-mock-json)\n[![license](https://img.shields.io/npm/l/http-mock-json?style=flat-square)](LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/alejandrorodrom/http-mock-json?style=flat-square)](https://github.com/alejandrorodrom/http-mock-json/stargazers)\n[![CI](https://img.shields.io/github/actions/workflow/status/alejandrorodrom/http-mock-json/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/alejandrorodrom/http-mock-json/actions/workflows/ci.yml)\n[![E2E](https://img.shields.io/github/actions/workflow/status/alejandrorodrom/http-mock-json/e2e.yml?branch=main&style=flat-square&label=E2E)](https://github.com/alejandrorodrom/http-mock-json/actions/workflows/e2e.yml)\n[![npm audit](https://img.shields.io/github/actions/workflow/status/alejandrorodrom/http-mock-json/npm-audit.yml?branch=main&style=flat-square&label=npm%20audit)](https://github.com/alejandrorodrom/http-mock-json/actions/workflows/npm-audit.yml)\n![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat-square&logo=typescript&logoColor=white)\n![Node](https://img.shields.io/badge/node-%3E%3D22.12.0-brightgreen?style=flat-square)\n\n> Mock your real API in JSON — status codes, errors, validation, latency, and mutable data — so the frontend can develop and test without waiting on a backend.\n\nDefine the same endpoints your app will call. Switch success and failure scenarios, validate request shapes, persist collections, proxy selected routes to a live server — or **record staging once** and replay from `.recordings/` with no backend online.\n\n<p align=\"center\">\n  <img src=\"assets/architecture.webp\" alt=\"Architecture: frontend talks to http-mock-json locally; optional proxy to a real backend, or record traffic and replay offline\" width=\"900\" />\n</p>\n\nThe frontend keeps calling HTTP on your machine. Backend outages stop blocking you. Use flat `mocks/*.json` or microservice folders; proxy only the routes that should still hit a live service, or capture them with [Record & Replay](#record--replay) and keep working offline.\n\n## Why http-mock-json\n\n- **JSON-first** — describe routes and responses in plain files; no code required to mock an API\n- **Frontend-ready** — status codes, headers, delays, multipart/raw bodies, and mutable CRUD stores\n- **Safe by default** — startup validation catches broken mocks before they waste your time\n- **Watch mode** — server restarts when mock files change\n- **Opt-in depth** — start static; add `match`, `request`, `store`, or `proxy` only when you need them\n- **Presets** — `mock-server add --preset …` scaffolds common shapes (CRUD, auth, upload, relations…) so you edit JSON instead of inventing structure\n- **Record & Replay** — point `--proxy` at staging, hit the app once with `--record`, then replay those fixtures locally without the upstream\n\n## Quick Start\n\nRequires **Node.js >= 22.12**. This package is a **CLI** (`mock-server`) that serves JSON mock files over HTTP (not an embeddable SDK).\n\n```bash\nnpm install http-mock-json --save-dev\nnpx mock-server init\nnpx mock-server start\ncurl -i http://localhost:3001/<your-endpoint>\n```\n\nDefault port is **3001** (`npm run mock:start` after `init` uses the same). Full walkthrough: [Getting started](#getting-started).\n\n## Documentation\n\nThis README is the full guide and reference. Quick help: [FAQ](docs/faq.md) · [Troubleshooting](docs/troubleshooting.md) · [Changelog](CHANGELOG.md).\n\nDay-one path: [Getting started](#getting-started) → optional [Concepts](#concepts). Everything else is lookup when you need it.\n\n### For AI assistants\n\nStart with the pocket brief [`docs/ai.md`](docs/ai.md) (pipeline, presets, CLI, limits). Index of priority docs: [`llms.txt`](llms.txt). These ship on npm under `node_modules/http-mock-json/` — open or `@`-mention them; IDEs do not auto-inject them into every chat.\n\n## Contents\n\n**Learn** (day one):\n\n- [Getting started](#getting-started)\n- [Concepts](#concepts) (optional — short glossary + how pieces fit)\n\n**Later** (when you need it):\n\n- [Examples](docs/examples.md)\n- [Advanced examples](docs/advanced-examples.md)\n- [Record & Replay](#record--replay) — capture staging, replay offline\n\n**Reference** (lookup when needed):\n\n- [CLI reference](#cli-reference)\n- [Mock file reference](#mock-file-reference)\n- [Validation reference](#validation-reference)\n- [Body compatibility](#body-compatibility)\n- [Mock config reference](#mock-config-reference)\n- [Store reference](#store-reference)\n\n**Recipes** (product-style; after you know the basics):\n\n- [Store recipes](docs/store-recipes.md) — store-backed app walkthroughs (Examples C–R)\n- [Real-world](docs/real-world.md) — multi-feature / multipart / folders / hybrid proxy\n\n## Getting started\n\n### Goal\n\nIn about five minutes: install, create a first mock, start the server, `curl` a response, then switch scenarios by editing JSON.\n\n### Prerequisites\n\n- Node.js 22.12 or newer\n- A Node project with a `package.json` (recommended so `init` can add a start script)\n\n### Steps\n\n#### 1. Install\n\n```bash\nnpm install http-mock-json --save-dev\n```\n\n#### 2. Initialize\n\n```bash\nnpx mock-server init\n```\n\nBy default this will:\n\n1. Create a `mocks` directory\n2. Add a `mock:start` script (`mock-server start`)\n3. Prompt you to create a first mock file\n\n#### 3. Answer the prompts\n\n`init` uses the **`static`** preset and asks for a file name, endpoint (e.g. `data/animals`), HTTP methods, then confirm. The scaffold already includes sample bodies so you can curl immediately:\n\n```json\n{\n  \"data/animals\": {\n    \"GET\": {\n      \"nameResponse\": \"success\",\n      \"responses\": [\n        {\n          \"name\": \"success\",\n          \"statusCode\": 200,\n          \"body\": { \"message\": \"ok\" }\n        },\n        {\n          \"name\": \"error\",\n          \"statusCode\": 404,\n          \"body\": { \"message\": \"Not found\" }\n        }\n      ]\n    }\n  }\n}\n```\n\nEdit those bodies to match your API, or flip `\"nameResponse\"` to `\"error\"` to try the 404 path. More fields (`match`, `store`, `proxy`, …) come later in [Concepts](#concepts).\n\n#### 4. Start the server\n\n```bash\nnpx mock-server start\n```\n\nOr `npm run mock:start`. Both listen on **`http://localhost:3001`** by default. Watch mode reloads when you save mock files; validation errors block startup (and a bad reload).\n\n#### 5. Try it\n\n```bash\ncurl -i http://localhost:3001/data/animals\n```\n\nYou should see `{ \"message\": \"ok\" }`. Change `\"nameResponse\"` to `\"error\"`, save, and curl again — same URL, `\"Not found\"` (watch mode reloads).\n\n### Expected result\n\n- A mocks directory with at least one `.json` file\n- Server at `http://localhost:3001`\n- `curl` returns the `nameResponse` body\n- Editing `nameResponse` (or bodies) changes the next response after reload\n\n### Next steps\n\n1. [Concepts](#concepts) — how `nameResponse`, `match`, `request`, `store`, and `proxy` fit together  \n\nWhen you need scaffolds or copy-paste fixtures: [CLI — add](#add) (`--preset …`), [Examples](docs/examples.md).\n\n### Other ways to start\n\nPrefer capturing a real API instead of hand-writing mocks? Use [Record & Replay](#record--replay) (`--proxy` + `--record`). OpenAPI → JSON: [CLI — import](#import).\n\n## Concepts\n\n### Goal\n\nUnderstand the main ideas behind an `http-mock-json` mock — enough to choose the right feature — without memorizing every field.\n\n### Prerequisites\n\n- You can start the server from [Getting started](#getting-started)\n- You have at least one mock JSON file under your mocks directory\n\n### Core ideas\n\n#### Named responses and `nameResponse`\n\nEach HTTP method on an endpoint holds a `responses` array. Every entry has a unique `name`.\n\n`nameResponse` is the **fallback**: when no response’s `match` applies, the server returns the response whose `name` equals `nameResponse`.\n\nUse this to flip success vs error (or any scenario) by editing one string. Field rules: [mock file reference](#mock-file-reference).\n\n#### `match` — pick a scenario from the request\n\nOptional `match` on a response selects that scenario when the incoming request fits. Rules can use:\n\n- `params` — route params (`/users/:id`)\n- `query` — query string\n- `body` — parsed JSON or urlencoded fields\n- `headers` — header names (case-insensitive)\n- `multipart` — multipart fields / file metadata\n- `call` — N-th hit (1-based), with optional scope, `loop`, and `reset`\n\nMatching is **partial**: only the keys you list must agree. **First matching response in array order wins**; if none match, `nameResponse` is used.\n\nEmpty `match` objects do not match. Details and examples: [mock file](#mock-file-reference), samples in [Examples](docs/examples.md).\n\n#### `request` — validate before selecting a happy path\n\nOptional method-level `request` checks the inbound payload, query, and/or headers **before** normal `match` / `nameResponse` selection.\n\nImportant naming (v4+):\n\n- Use `request.payload` (not `request.body`)\n- Grouped error options live under `request.error` (`response`, `format`, `detail`, `key`)\n\nYou can set `as` (`json` | `form` | `multipart` | `raw` | `text`) to require a content mode, or omit it and let Content-Type decide. Failed checks select the configured error response instead of running the usual match pipeline.\n\nDepth: [body compatibility](#body-compatibility), [validation](#validation-reference), [mock file](#mock-file-reference).\n\n#### `store` — mutable collections\n\nOpt-in per endpoint: declare a collection with `store` (or reference a shared `store.id` defined elsewhere). Responses can use `action` (`list`, `get`, `create`, `update`, `patch`, `delete`, `restore`) instead of a fixed `body`.\n\nTypical capabilities (see [Store reference](#store-reference)): seed data, persistence, list filters/pagination, soft delete, relations, unique / key conflicts.\n\n`action` cannot share a response with `proxy` or response `encoding`.\n\n#### `proxy` — forward to a real backend\n\nProxy can appear at several layers:\n\n- Response: `\"proxy\": true`, a URL string, or `{ \"target\", \"path?\" }`\n- Method default target for `\"proxy\": true`\n- CLI `--proxy` and folder `mock.config.json` targets for `\"proxy\": true` and unmatched routes\n\nWhen a selected response has `proxy` set, the original request is forwarded and the mock `body` / `action` path is skipped. Unmatched routes can still be forwarded if you configured global or folder unmatched proxy mounts. Upstream redirects are not followed (`redirect: \"manual\"`); the mock returns the 3xx response as-is.\n\nSee [mock file](#mock-file-reference) and [CLI](#cli-reference).\n\n#### Record & Replay — capture staging, work offline\n\nHand-writing every fixture is optional. With `--proxy` and `--record`, proxied responses are written under `.recordings/` (same mock JSON shape). Stop the server, start again without `--record`: recordings load by default next to your mocks, so the frontend keeps the same URLs with no upstream.\n\nTypical loop: record against staging → commit or share sanitized fixtures → day-to-day `mock-server start` (or `--recordings-only`). Full flags and behavior: [CLI — Record & Replay](#record--replay).\n\n### Runtime pipeline (matching order)\n\nFor a request that hits a registered mock route, roughly:\n\n1. **Parse** the body when needed (including multipart). Parse failures can become a `request` error response if `request` is configured; otherwise they return a client error.\n2. **`request` validation** — if configured and issues are found, serve the request-error response and stop.\n3. **Response selection** — walk `responses` in order; first entry with a satisfied `match` wins; otherwise use `nameResponse`.\n4. **Delay** — method-level and/or response-level latency.\n5. **Fulfill**:\n   - `proxy` → forward to the resolved target  \n   - `action` + store → run the store operation (conflicts / not-found use named responses when configured)  \n   - otherwise → send the mock `body` (or encoded file / base64 body)\n\nAfter registered routes, unmatched traffic may still hit folder `proxyUnmatched` mounts, then the global `--proxy` catch-all.\n\nStartup checks (port, mock shape, references) are separate from this per-request path — see [validation](#validation-reference).\n\nCORS is enabled by default (browser frontends can call the mock server without a separate CORS mock).\n\n### Glossary\n\n| Term | Meaning |\n|------|---------|\n| **mocks directory** | Folder passed to `--path` / `-f` (default `mocks`). Contains mock JSON files and optional `mock.config.json`. |\n| **mock file** | A `.json` file loaded by `start` (not `mock.config.json`). Top-level keys are **endpoints**. |\n| **fixture** | Sample mock under this repo’s [`mocks/`](mocks/) (for copy/paste). |\n| **endpoint** | Top-level key in a mock file (e.g. `\"data/animals\"`). In prose, “route” means the HTTP path, not a JSON field name. |\n| **named response** | An entry in `responses[]` with a `name`. Prefer this over “scenario” when talking about the API. |\n| **`nameResponse`** | Fallback named response when no `match` applies. |\n| **`match`** | Optional object on a response that selects it from the request (`params` / `query` / `body` / …). |\n| **`request`** | Method-level validation (`payload` / `query` / `headers`) before response selection. Distinct from **startup validation**. |\n| **store definition / reference** | Full `store` object vs `{ \"id\": \"…\" }` reuse. Prefer these over bare “schema”. |\n| **recording** | Fixture under `.recordings/` written by `--record` while proxying; loaded on `start` unless `--exclude-recordings`. |\n\n### Expected result\n\nYou can explain, for a given mock, which response will run: validation error, a `match`ed scenario, the `nameResponse` fallback, a store action, a proxy forward, or a loaded recording.\n\n### Next steps\n\n1. [Examples](docs/examples.md) — copy-paste samples from this repository  \n2. [Advanced examples](docs/advanced-examples.md) — one-feature walkthroughs  \n\nLookup in this manual when needed:\n\n| Need | Section |\n|------|---------|\n| Every mock field | [Mock file reference](#mock-file-reference) |\n| CRUD / persist / list / relations | [Store](#store-reference) |\n| Payload modes, files, response encoding | [Body compatibility](#body-compatibility) |\n| Folder layouts (`mock.config.json`) | [Mock config](#mock-config-reference) |\n| What fails at startup vs at runtime | [Validation](#validation-reference) |\n| CLI flags | [CLI](#cli-reference) |\n\n## CLI reference\n\nBinary: `mock-server` (package `http-mock-json`, current version **5.1.0**). Requires **Node.js ≥ 22.12**.\n\nGlobal options: `-h` / `--help`, `-v` / `--version`.\n\n> **Flag `-p` depends on the command:** on `init` / `add` / `import`, `-p` is `--path` (mocks directory). On `start`, `-p` is `--port`; the mocks directory is `-f` / `--path`.\n\n---\n\n### `init`\n\nCreate the folder that will contain the mocks.\n\n```bash\nmock-server init\n```\n\n| Flag | Default | Description |\n|------|---------|-------------|\n| `-p, --path <path>` | `mocks` | Path to the mocks directory to create |\n| `-m, --mock [value]` | `true` | Create a first mock. Accepts `true` / `1` as true; any other string is false. Bare `--mock` is true. |\n| `-s, --script [value]` | `true` | Add a start script to `package.json`. Same boolean parsing as `--mock`. |\n\n**Examples:**\n\n```bash\nmock-server init --path api-mocks --mock false --script false\nmock-server init --path apps/folder1/mocks --mock false --script false\n```\n\n---\n\n### `start`\n\nStart the mock server (loads JSON mocks, validates, listens, then watches for file changes).\n\n```bash\nmock-server start\n```\n\n| Flag | Default | Description |\n|------|---------|-------------|\n| `-p, --port <port>` | — | Listen port (integer `1`–`65535`). Overrides `mock.config.json` `port` when set; otherwise config `port`, else **`3001`**. |\n| `-f, --path <path>` | `mocks` | Path to the mocks directory (JSON files + optional `mock.config.json`) |\n| `--proxy <url>` | — | Global proxy target (`http` / `https`). Used by responses with `\"proxy\": true` and by unmatched routes (after folder `proxyUnmatched` mounts). Upstream redirects are not followed (`redirect: \"manual\"`); 3xx is returned as-is. |\n| `--record` | `false` | Record proxied responses into `.recordings/` (JSON + binary via `encoding: \"file\"`). Requires a proxy target (CLI `--proxy`, folder `proxy` / `proxyUnmatched`, or response `proxy`). |\n| `--exclude-recordings` | `false` | Do not load `.recordings/` (mocks only). |\n| `--recordings-only` | `false` | Load only `.recordings/` (ignore regular mock JSON). Incompatible with `--exclude-recordings`. |\n| `--reset-store [ids]` | — | Delete persisted store snapshots **before the initial start**. Bare `--reset-store` clears all. Comma-separated ids clear only those store ids (runtime ids, including `namespace:id` when `storeNamespace` is set). **Not** re-applied on watch reloads. |\n\n**Examples:**\n\n```bash\nmock-server start --port 3001 --path api-mocks --proxy https://api.staging.com\nmock-server start --path apps/folder1/mocks\nmock-server start --proxy https://api.staging.com --record\nmock-server start --exclude-recordings\nmock-server start --recordings-only\nmock-server start --reset-store\nmock-server start --reset-store notes,users\nmock-server start --reset-store users:session\n```\n\n#### Record & Replay\n\nBootstrap realistic fixtures from a live API, then develop and test with the upstream offline. Recordings use the same mock JSON shape (including `match` for params/query/auth/multipart), so you can edit or commit them like any other mock.\n\n```bash\n# 1) Record (writes .recordings/ while proxying)\nmock-server start --proxy https://api.staging.com --record\n\n# 2) Stop with Ctrl+C (prints wrote / skipped / proxy failures)\n\n# 3) Replay (default loads mocks + recordings)\nmock-server start\n```\n\nWith `mock.config.json` folders, recordings are grouped by longest matching `prefix` into `<folder>/.recordings/`. Without config, files go under `mocks/.recordings/`.\n\n| Behavior | Detail |\n|----------|--------|\n| What is recorded | Proxied traffic only (local mocks are not overwritten) |\n| JSON | Saved as normal response `body` (including primitives) |\n| Binary | `encoding: \"file\"` + bytes under `.recordings/files/` |\n| Bodies | JSON parsed when possible; `text/*` / xml / csv as strings; binary as `encoding: \"file\"`; unknown utf8 as text, otherwise binary. Proxied responses are recorded (no content-type skip for normal API payloads). |\n| Redirects | Not followed (`redirect: \"manual\"`); 3xx + `Location` are recorded |\n| Path params | Digits → `:id` / `:id2`…; segments like `v1` / `v2` stay literal |\n| Headers | Response headers mapped (including `Set-Cookie`); hop-by-hop omitted. Request `Authorization` / `Cookie` go into `match.headers` so variants of the same route replay correctly |\n| Match | Path params, query, non-empty JSON body, auth/cookie headers, and multipart fields/file metadata (`filename` / `mimeType` / `size`); response without `match` becomes the default (`nameResponse`) |\n| Collisions | In default load mode, a mock route wins over a recording (warning logged) |\n| Startup log | Routes grouped under **Mocks** and **Recordings** |\n\n`.recordings/` writes are ignored by the file watcher (same idea as `.store/`). The package `.gitignore` excludes `**/.recordings/` because recordings may store `Authorization` / `Cookie` in `match.headers` — commit them only when intentionally sanitized.\n\n**Breaking (≥ 2.0.0):** `--path` / `-f` is the mocks directory itself (default `mocks`).  \nBefore 2.0.0, `-f apps/folder1` meant `apps/folder1/mocks`. Use `-f apps/folder1/mocks` now.\n\n**Port resolution:** CLI `-p` / `--port` → `mock.config.json` `port` → `3001`.\n\n**CORS:** enabled by default on the HTTP server (including exposing response headers to the browser).\n\nSee also: [Validation](#validation-reference), [Mock config](#mock-config-reference), [Store — persist / `--reset-store`](#persist-and-restart-behavior).\n\n---\n\n### `add`\n\nScaffold a mock JSON file with an interactive prompt. Every `add` run uses a **preset** (default `static`). You always set the file name and endpoint; only `static` also asks which HTTP verbs to include.\n\n```bash\nmock-server add\nmock-server add --preset crud\nmock-server add --path api-mocks --preset auth-login\n```\n\n| Flag | Default | Description |\n|------|---------|-------------|\n| `-p, --path <path>` | `mocks` | Path to the mocks directory |\n| `--preset <name>` | `static` | Which scaffold to write (table below) |\n| `--crud` | `false` | Alias for `--preset crud` |\n\n#### Presets\n\n| Preset | Use when you need… | Writes |\n|--------|--------------------|--------|\n| `static` | A ready-to-curl endpoint you can edit | One route; chosen verbs; sample `success` / `error` bodies |\n| `scenarios` | Branching without a store | `GET` + `?scenario=ok\\|missing\\|error` (`match` + delay) |\n| `auth-login` | Login validation + happy/sad paths | `POST` + `request` + `match` (200 / 403) + 401 / 400 |\n| `crud` | Mutable collection + item | `store` actions: list / create / get / update / patch / delete |\n| `crud-full` | CRUD plus real persistence rules | `crud` + `persist`, `unique`, `softDelete`, item `restore` |\n| `paginated-list` | Tables / infinite scroll against seed data | Collection `store.list` (page, filter, search) + `POST` create |\n| `relations` | Parent/child resources with FK | Two stores: parent + sibling child (embed, expand, `onDelete: restrict`) |\n| `upload` | Multipart create + file download | `POST` multipart + item `GET` (`encoding: \"base64\"`) |\n| `proxy-hybrid` | Some routes local, one live upstream | Local `GET` + sibling `…/live` proxy (jsonplaceholder) |\n\n**Endpoint conventions** (store presets): `api/notes` → collection + `api/notes/:id`. A trailing `/:param` is kept on item routes (`users/:userId`). `store.id` is the last non-param segment. `proxy-hybrid` uses that same collection base for the sibling `…/live` route (so `api/notes/:id` still yields `api/notes` + `api/notes/live`). Existing files prompt before overwrite.\n\n**`relations` prompts:** you name the **parent** collection (default `api/users`). The preset always scaffolds a second **child** collection next to it:\n\n- Default child segment is `posts` → e.g. parent `api/users` writes `api/users` + `api/posts` (stores `users` / `posts`, FK `userId`, reverse embed, delete restrict).\n- If that default would collide with the parent (same path or same `store.id` — e.g. parent `api/posts`), the CLI asks for the child collection name (suggestion `comments`) and writes that sibling instead (`api/posts` + `api/comments`, FK derived from the parent id → `postId`).\n- Child names are a single path segment (`comments`, `articles`); parent FK / embed names follow the parent `store.id` (soft-singularized); child relation keys and conflict names follow the child segment.\n\n```bash\nmock-server add --preset scenarios\nmock-server add --preset crud-full\nmock-server add --preset relations --path apps/folder1/mocks\n```\n\n`add` / `init` write into the **root** of the mocks directory (they do not create `mock.config.json` folder layouts). `import` writes to the root when there is no server/`--prefix`; with a route prefix it writes `mock.config.json` + one-level folders. For folder organization, see [Mock config](#mock-config-reference).\n\n---\n\n### `import`\n\nGenerate mock JSON files from an **OpenAPI 3.x** document (local file or `http(s)` URL). Offline generator only — `start` still loads the written JSON, not the OpenAPI file.\n\n```bash\nmock-server import --openapi ./openapi.yaml\nmock-server import --openapi https://example.com/openapi.json -p mocks\nmock-server import --openapi ./openapi.yaml --no-split-tags --out my-api --overwrite\nmock-server import --openapi ./openapi.yaml --prefix /api/v1\nmock-server import --openapi ./openapi.yaml --no-server-prefix\n```\n\n| Flag | Default | Description |\n|------|---------|-------------|\n| `--openapi <source>` | (required) | OpenAPI 3.0 / 3.1 file path or URL |\n| `-p, --path <path>` | `mocks` | Path to the mocks directory |\n| `--out <name>` | from `info.title` (or `openapi`) | Base file name when using `--no-split-tags` |\n| `--no-split-tags` | off (split by tag) | Write a single JSON file instead of one file per OpenAPI tag (`untagged.json` when a tag is missing) |\n| `--prefix <path>` | from `servers[0].url` path | Route prefix written into `mock.config.json` `folders.*.prefix` (overrides the OpenAPI server path) |\n| `--no-server-prefix` | off | Ignore `servers[0]` path; write flat mock JSON at the mocks root (no `mock.config.json`) |\n| `--overwrite` | `false` | Overwrite existing files without prompting |\n| `--no-request` | off (generate `request`) | Do not emit `request.payload` / `query` / `headers` from OpenAPI schemas |\n\n**Behavior:**\n\n- Paths like `/pets/{petId}` become `pets/:petId`.\n- Only `GET` / `POST` / `PUT` / `PATCH` / `DELETE` are imported; other methods are skipped with a warning.\n- Every documented status becomes a `responses[]` entry (`success_200`, `error_404`, …). **`nameResponse` is the first 2xx** (else the first status). Error responses are present but inactive until you change `nameResponse` or add `match`.\n- Response bodies prefer `example` → `examples` → `schema.example` → a minimal schema-derived example → `{}`.\n- **`request` (default on):** also writes method-level `request` from `requestBody` and from query/header parameters (optional fields as `name?`). JSON, form, and multipart bodies are mapped when the schema is an object; path params stay in the route. Use `--no-request` for response-only stubs. Schemas the mock engine cannot represent are skipped with a warning (see [Troubleshooting — import](docs/troubleshooting.md#cli-import-openapi)).\n- **Server base path:** if `servers[0].url` has a path (e.g. `https://api.nasa.gov/planetary` → `/planetary`, or `/api/v3`), the import writes `mock.config.json` and puts tag files under folders that share that `prefix`. Endpoint keys stay relative (`apod`, not `planetary/apod`), so `GET /planetary/apod` works at runtime. Grouping is still **by OpenAPI tag**, not by prefix (the server path is usually one shared prefix).\n- **Swagger 2.0 is not supported** (convert to OpenAPI 3.x first). Does not generate store CRUD or `match` in this version.\n\n---\n\n## Mock file reference\n\nAuthoritative field reference for mock JSON files loaded by `mock-server start`.\n\nA mock file is a JSON **object**. Top-level keys are **endpoints** (route paths). Each endpoint is an object whose keys are HTTP methods and, optionally, a sibling `store` definition/reference.\n\n```text\n{\n  \"<endpoint>\": {\n    \"store\"?: StoreDefinition | { \"id\": string },   // endpoint level only\n    \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\": Method\n  },\n  ...\n}\n```\n\nGuides and samples: [Examples](docs/examples.md), [Advanced examples](docs/advanced-examples.md), [Real-world](docs/real-world.md).  \nRelated contracts: [Body compatibility](#body-compatibility), [Store](#store-reference), [Mock config](#mock-config-reference), [Validation](#validation-reference).\n\n---\n\n### Endpoint\n\n| Rule | Detail |\n|------|--------|\n| Path pattern | Literals: letters, numbers, `-`, `_`, `.`, `~`, `/`. Params like `:id` / `:item-id` (letters, numbers, `_`, `-` only — not `.`). |\n| Methods | At least one of `GET`, `POST`, `PUT`, `PATCH`, `DELETE` (case as written in JSON; validated uppercased) |\n| `store` | Optional; **not** an HTTP method. Sibling of methods. See [Store](#store-reference) |\n\nInvalid characters or an endpoint with only `store` and no methods → startup **error**.\n\n---\n\n### Method\n\n```text\nMethod {\n  nameResponse: string          // required — default response name\n  delay?: number                // ms, ≥ 0\n  proxy?: string | { target, path? }   // URL or object; not `true`\n  request?: Request             // see Body compatibility\n  responses: Response[]         // required, non-empty\n}\n```\n\n| Field | Required | Notes |\n|-------|----------|-------|\n| `nameResponse` | yes | Must match a `responses[].name` |\n| `responses` | yes | Non-empty array |\n| `delay` | no | Non-negative number |\n| `proxy` | no | `http`/`https` URL string or `{ \"target\": \"<url>\", \"path\"?: string }`. **`true` is not allowed** at method level |\n| `request` | no | Must include `payload`, `query`, and/or `headers`. See [Body compatibility](#body-compatibility) |\n\n---\n\n### Response\n\n```text\nResponse {\n  name: string                  // required\n  statusCode?: number | string  // required unless proxy is set\n  headers?: Record<string, string>\n  body?: unknown                // required unless proxy or action\n  encoding?: \"file\" | \"base64\"  // response serialization only\n  delay?: number\n  match?: Match\n  proxy?: string | true | { target, path? }\n  action?: StoreAction          // list | get | create | update | patch | delete | restore\n}\n```\n\n| Field | Required | Notes |\n|-------|----------|-------|\n| `name` | yes | Unique among siblings for selection / `nameResponse` / error refs |\n| `statusCode` | yes\\* | Numeric (or numeric string). Non-IANA codes → **warning**. \\*Optional when `proxy` is set |\n| `body` | yes\\* | JSON/primitive payload, or path/base64 string when `encoding` is set. \\*Optional when `proxy` or `action` is set |\n| `headers` | no | Object of string values |\n| `encoding` | no | `\"file\"` or `\"base64\"` only. Incompatible with `proxy` and `action` |\n| `delay` | no | Overrides method / folder / root delay for this response |\n| `match` | no | Scenario selector (see below) |\n| `proxy` | no | `true` (inherit target), URL string, or `{ target, path? }` |\n| `action` | no | Requires endpoint `store`. Incompatible with `proxy`. See [Store actions](#actions) |\n\n**One output mode per response:** exactly one of `proxy` / `action` / static `body` (+ optional `encoding`) runs for the selected response.\n\n**`encoding`:**\n\n| Value | `body` | Output |\n|-------|--------|--------|\n| omitted | JSON / primitive | `res.json(body)` |\n| `\"base64\"` | base64 string | decoded bytes |\n| `\"file\"` | relative path under mocks root | file bytes (`..` / escape → runtime `500`) |\n\nDetails: [Body compatibility — Response encoding](#response-encoding).\n\n**`action` warnings:**\n\n- `body` present and `action` ≠ `list` → body ignored (warning)\n- `action: \"delete\"` with `statusCode` ≠ `204` → status ignored (always `204`)\n\n---\n\n### `match`\n\nObject; must include at least one of: `params`, `query`, `body`, `headers`, `multipart`, `call`.\n\n| Key | Shape | Notes |\n|-----|-------|-------|\n| `params` | non-empty object | Route params |\n| `query` | non-empty object | Query string |\n| `body` | any JSON value | Compared against parsed body |\n| `headers` | non-empty object | Header matching |\n| `multipart` | non-empty object | Multipart field matching |\n| `call` | positive int **or** object | Call counting / sequencing |\n\n`match.call` object:\n\n| Key | Type | Notes |\n|-----|------|-------|\n| `index` | positive int (≥ 1) | Required unless `reset: true` |\n| `by` | `{ body \\| query \\| params: string }` | Exactly one of those three keys; scopes the counter |\n| `loop` | boolean | When true with indexes, indexes should be contiguous `1..max` (warning if not) |\n| `reset` | boolean | Reset counter; reset-only call must also include params/query/body/headers/multipart |\n\nWithin one method, all `match.call.by` values must be identical (startup error otherwise).\n\nSelection: responses with `match` are tried; if none match, `nameResponse` is used. See [Advanced examples](docs/advanced-examples.md) for scenarios.\n\n---\n\n### `proxy` value shapes\n\n| Location | Allowed |\n|----------|---------|\n| Response | `true` \\| URL string \\| `{ \"target\", \"path?\" }` |\n| Method | URL string \\| `{ \"target\", \"path?\" }` (not `true`) |\n| `mock.config.json` root / folder | URL string \\| `{ \"target\", \"path?\" }` (not `true`) |\n| CLI `--proxy` | URL string |\n\nWhen response `\"proxy\": true`, target resolution order:\n\n**method `proxy` → folder `proxy` → root config `proxy` → CLI `--proxy`**\n\nIf none → HTTP **502**. Explicit URL / `{ target }` on the response skips the cascade.\n\nFolder `proxyUnmatched` and `stripPrefix` are config-level; see [Mock config](#mock-config-reference).\n\n---\n\n### Request (summary)\n\n```text\nrequest?: {\n  as?: \"json\" | \"form\" | \"multipart\" | \"raw\" | \"text\"\n  payload?: ...\n  query?: Record<string, FieldSchema>\n  headers?: Record<string, FieldSchema>\n  error?: { response?, format?, detail?, key? }\n}\n```\n\nFull contract, field rules, error formats, and 3.x → 4.x migration: [Body compatibility](#body-compatibility).\n\nLegacy keys rejected at startup: `request.body`, `invalidResponse`, `errorFormat`, `errorDetail`, `errorDetailsKey`.\n\n---\n\n### `store` (endpoint-level summary)\n\n```json\n\"store\": { \"id\": \"notes\", \"key\": \"id\", \"seed\": [], ... }\n```\n\nor reference:\n\n```json\n\"store\": { \"id\": \"notes\" }\n```\n\nA reference is **only** `{ \"id\": \"...\" }`. Full schema, actions, soft delete, relations, persist, list/filter: [Store](#store-reference).\n\n---\n\n### Delay resolution\n\nMost specific wins:\n\n**response → method → folder (`mock.config.json`) → root config → `0`**\n\n---\n\n### Headers merge (with `mock.config.json`)\n\n`{ ...root, ...folder, ...response }` — same key → more specific wins.\n\n---\n\n### Minimal example\n\n```json\n{\n  \"api/health\": {\n    \"GET\": {\n      \"nameResponse\": \"ok\",\n      \"responses\": [\n        {\n          \"name\": \"ok\",\n          \"statusCode\": 200,\n          \"body\": { \"ok\": true }\n        }\n      ]\n    }\n  }\n}\n```\n\n## Validation reference\n\nStartup validation for `mock-server start`. Source of truth: `src/cli/commands/start/execute-mock.ts`, `start-mock.ts`, `files.ts`, `process-file.ts`, and `src/validators/*`.\n\n---\n\n### Order of operations\n\nWhen you run `mock-server start`:\n\n1. **Load `mock.config.json`** (if present under the mocks directory): parse + validate config shape. Errors are collected (not thrown yet). Used to resolve the listen port.\n2. **Resolve port:** CLI `-p` → config `port` → `3001`.\n3. **Port availability** (before mock routes are registered): socket check. If the port is in use, the process fails immediately without finishing mock validation.\n4. **Discover mock files:** root `*.json` (except `mock.config.json`); with config, also declared `folders/*` (respecting `enabled` / `include` / `exclude`). Missing declared folders → errors.\n5. **Parse each mock file:** must be a non-empty JSON object (syntax / empty-file errors collected here).\n6. **Collect store definitions** from endpoint-level `store` (full definitions only); duplicate `id` → error. Apply folder `storeNamespace` when set.\n7. **Store relations integrity** across the registry (`validateStoreRelationsIntegrity`).\n8. **Per endpoint / method / response:**\n   - Endpoint path + at least one HTTP method\n   - HTTP methods: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`\n   - Method: `nameResponse`, `responses`, optional `delay` / `proxy` / `request`\n   - Response: `name`, `statusCode` (unless `proxy`), `body` (unless `proxy` or `action`), `match`, `delay`, `proxy`, `encoding`, `action`\n   - Request: `payload` / `query` / `headers` / `as` / `error` shapes; legacy keys rejected\n   - Store actions, conflict / notFound response name existence, soft-delete rules for `restore`\n   - Optional `strictDuplicates` route ownership when enabled in config\n9. **Emit warnings**, then **emit errors**. Any error → throw `Invalid mock configuration` and exit (server does not start).\n\nJSON structure checks are not a final separate step: invalid JSON fails at step 5 when the file is loaded.\n\n---\n\n### Errors vs warnings\n\n| Severity | Effect | Typical causes |\n|----------|--------|----------------|\n| **Error** | Server does not start | Missing required fields, invalid structure, unknown keys, bad `request` / `store` / `proxy` / `encoding` combinations, missing named responses, relation integrity failures, invalid persist snapshots at load |\n| **Warning** | Server still starts | Non-standard (non-IANA) `statusCode`; `body` ignored when `action` is set (except `list`); `statusCode` ≠ 204 on `action: \"delete\"`; non-contiguous `match.call` indexes when `loop: true` |\n\nError messages include file, endpoint, and method when applicable.\n\n---\n\n### Watch mode\n\nAfter a successful start, the mocks directory is watched (`chokidar`, debounce **150** ms).\n\n| Behavior | Detail |\n|----------|--------|\n| Triggers | `add` / `change` / `unlink` under the mocks directory |\n| Persist ignore | Persist snapshots are ignored so store writes do not restart the server: `.store/**`, custom `persist.file` paths, their `.tmp` siblings, and custom persist parent dirs (when not the mocks root) |\n| `--reset-store` | Applied **only** on the initial CLI `start`. Watch reloads call `executeMock` **without** `resetStore` |\n| Validation failure on reload | Restart is aborted; the process logs that the server could not be restarted and asks you to fix mocks and **run the command again**. It does **not** keep waiting in a reload loop for a later fix |\n\n---\n\n### Related\n\n- [CLI — `start` flags](#start)\n- [Mock file fields](#mock-file-reference)\n- [Mock config](#mock-config-reference)\n- [Store persist / `--reset-store`](#persist-and-restart-behavior)\n- [Body compatibility](#body-compatibility)\n\n## Body compatibility\n\nContract (since **4.0.0**) for multi content-type request validation, tolerant intake (multipart / form / raw / text), grouped `error` options, and binary mock responses (`encoding`).\n\nPackage version: **4.0.3**. See also [Advanced examples — request validation](docs/advanced-examples.md#example-9-request-validation) and the field summary in [Mock file](#mock-file-reference).\n\n### Goals\n\n1. **Do not fail** when the frontend sends `multipart/form-data`, urlencoded, raw binary, or text — respond like the real API (usually JSON).\n2. **Validate** those payloads with one clear shape: always `{ \"type\": \"...\", ... }` (and `format` when relevant).\n3. **Respond** with images/PDFs/etc. via `encoding` + `body` (no separate `bodyFile` key).\n\n### Request contract\n\n```text\nrequest?: {\n  as?: \"json\" | \"form\" | \"multipart\" | \"raw\" | \"text\"   // omit = auto from Content-Type\n  payload?: PayloadSchema\n  query?: FieldMap\n  headers?: FieldMap\n  error?: {\n    response?: string           // named response on validation failure\n    format?: \"array\" | \"map\"    // default: \"array\"\n    detail?: object | string\n    key?: string                // default: \"errors\"\n  }\n}\n```\n\nAt least one of `payload`, `query`, `headers` is required when `request` is present.\n\n**Minimal (JSON):**\n\n```json\n\"request\": {\n  \"payload\": {\n    \"email\": { \"type\": \"string\", \"format\": \"email\" },\n    \"password\": { \"type\": \"string\", \"minLength\": 8 }\n  },\n  \"error\": {\n    \"response\": \"invalid\"\n  }\n}\n```\n\n**Multipart profile upload** (requires `\"as\": \"multipart\"` when any payload field has `type: \"file\"`; see [`44-profile-body-compat.json`](mocks/44-profile-body-compat.json)):\n\n```json\n\"request\": {\n  \"as\": \"multipart\",\n  \"payload\": {\n    \"name\": { \"type\": \"string\", \"minLength\": 2 },\n    \"email\": { \"type\": \"string\", \"format\": \"email\" },\n    \"age?\": { \"type\": \"number\", \"min\": 18, \"max\": 120 },\n    \"avatar\": { \"type\": \"file\", \"format\": [\"png\", \"jpeg\"] },\n    \"banner?\": { \"type\": \"file\", \"format\": \"image/*\" },\n    \"cv?\": {\n      \"type\": \"file\",\n      \"format\": \"pdf\",\n      \"maxSize\": 5000000,\n      \"message\": \"CV must be a PDF up to 5MB\"\n    }\n  },\n  \"error\": {\n    \"response\": \"invalid\",\n    \"format\": \"map\"\n  }\n}\n```\n\n**Force multipart Content-Type** (reject non-multipart requests first):\n\n```json\n\"request\": {\n  \"as\": \"multipart\",\n  \"payload\": {\n    \"title\": { \"type\": \"string\" },\n    \"file\": { \"type\": \"file\", \"format\": \"png\" }\n  },\n  \"error\": { \"response\": \"invalid\" }\n}\n```\n\n**Raw body (e.g. `PUT` image):**\n\n```json\n\"request\": {\n  \"as\": \"raw\",\n  \"payload\": {\n    \"type\": \"file\",\n    \"format\": [\"png\", \"jpeg\"],\n    \"maxSize\": 2000000\n  },\n  \"error\": { \"response\": \"invalid\" }\n}\n```\n\n### Payload field rules (`type` / `format`)\n\n**One shape for every field:** an object with `type`. Use `format` when you need a string format or a file kind. Do **not** use ambiguous shorthands like `\"email\": \"email\"` or `\"avatar\": [\"png\", \"jpeg\"]`.\n\nOptional fields: trailing `?` on the key (`\"age?\"`, `\"cv?\"`).\n\n##### Options by `type`\n\n| Option | `string` | `number` | `boolean` | `object` | `array` | `file` |\n|--------|----------|----------|-----------|----------|---------|--------|\n| `format` | `email`, `uuid`, `url`, `date` | — | — | — | — | `png`, `jpeg`, `webp`, `pdf`, `image/*`, `file`, MIME, or list |\n| `minLength` / `maxLength` | ✅ | — | — | — | — | — |\n| `pattern` | ✅ | — | — | — | — | optional filename pattern |\n| `min` / `max` | — | ✅ | — | — | — | — |\n| `enum` | ✅ | ✅ | — | — | — | — |\n| `properties` | — | — | — | ✅ | — | — |\n| `items` | — | — | — | — | ✅ | — |\n| `minItems` / `maxItems` | — | — | — | — | ✅ | multiple parts with same name |\n| `maxSize` / `minSize` | — | — | — | — | — | ✅ (bytes) |\n| `requireFilename` | — | — | — | — | — | ✅ optional |\n| `message` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |\n| `messages` | ✅ per-rule map (optional) | same | same | same | same | same |\n\n`format` aliases for files (resolved internally):\n\n| User writes | Means |\n|-------------|--------|\n| `png` | `image/png` |\n| `jpeg` / `jpg` | `image/jpeg` |\n| `webp` | `image/webp` |\n| `gif` | `image/gif` |\n| `pdf` | `application/pdf` |\n| `image/*` | any image |\n| `file` / `*/*` | any file part |\n| `image/png` | used as-is |\n\n**Legacy type-only shortcut** (still allowed for non-file types):\n\n```json\n\"name\": \"string\"\n```\n\nequals `{ \"type\": \"string\" }`. Formats and files **must** use the object form.\n\n**Whole-body `payload`:** a single rule object (`{ \"type\": \"string\", ... }` or `{ \"type\": \"file\", ... }`) requires `as: \"text\"` or `as: \"raw\"` (or top-level `type: \"file\"`). Otherwise use a field map.\n\n### Content-Type detection (`as`)\n\n| `as` | Behavior |\n|------|----------|\n| *(omitted)* | **Auto:** detect from the incoming `Content-Type`, then validate `payload` |\n| `\"json\"` | Require JSON; else validation error → `error.response` |\n| `\"form\"` | Require `application/x-www-form-urlencoded` |\n| `\"multipart\"` | Require `multipart/form-data` |\n| `\"raw\"` | Require binary/raw (`image/*`, `application/pdf`, `octet-stream`, `audio/*`, `video/*`, …). Also accepts other non-mapped Content-Types when `as` is explicitly `\"raw\"`. |\n| `\"text\"` | Require `text/plain` |\n\nAuto mapping (`detectRequestAs`):\n\n| Incoming `Content-Type` | Mode |\n|-------------------------|------|\n| `application/json` / `+json` | json |\n| `application/x-www-form-urlencoded` | form |\n| `multipart/form-data` | multipart |\n| `text/plain` | text |\n| `image/*`, `application/pdf`, `application/octet-stream`, `audio/*`, `video/*` | raw |\n| no / unknown type | `null` (payload checks may be skipped when there is no body; `query` / `headers` still validate) |\n\nFlow when `as` is set:\n\n```text\n1) Does the frontend Content-Type match `as`?\n   NO  → validation error (default or error.response)\n   YES → validate payload / query / headers\n```\n\nWithout `as`: detect → validate payload for that mode.\n\n**Intake rule:** if there is no `request`, or no file rules and no forced `as`, opaque bodies must **not** crash the server — select the mock response as usual. Body size limit: **10 MiB** (`RAW_BODY_LIMIT`); larger bodies → **413**. Multipart caps: **20** files, **100** fields.\n\n### Error object\n\nAll optional; defaults always apply.\n\n```json\n\"error\": {\n  \"response\": \"invalid\",\n  \"format\": \"map\",\n  \"detail\": \"{{message}}\",\n  \"key\": \"errors\"\n}\n```\n\n| Key | Default | Role |\n|-----|---------|------|\n| `response` | generic `400` | Named response to use on failure |\n| `format` | `\"array\"` | `\"array\"` = list of issue objects; `\"map\"` = `{ field: [messages] }` |\n| `detail` | built-in per format | Template(s) with `{{path}}`, `{{rule}}`, `{{expected}}`, `{{received}}`, `{{message}}` |\n| `key` | `\"errors\"` | Property name where errors are injected into the response body |\n\nGeneric failure (no named response): status **400**, message `\"Invalid request\"`.\n\nMessage resolution per failed rule:\n\n```text\nrule.messages[ruleName] → rule.message → library default\n```\n\n### Response `encoding`\n\n**Response-only** (how to serialize `body`). Not used on `request`.\n\n| `encoding` | `body` means | Output |\n|------------|--------------|--------|\n| *(omitted)* | JSON / primitive | `res.json(body)` |\n| `\"base64\"` | base64 string | decoded bytes |\n| `\"file\"` | relative path under mocks root | file bytes (paths with `..` rejected) |\n\n```json\n{\n  \"name\": \"avatar\",\n  \"statusCode\": 200,\n  \"headers\": { \"Content-Type\": \"image/png\" },\n  \"encoding\": \"file\",\n  \"body\": \"fixtures/avatar.png\"\n}\n```\n\n```json\n{\n  \"name\": \"tiny\",\n  \"statusCode\": 200,\n  \"headers\": { \"Content-Type\": \"image/png\" },\n  \"encoding\": \"base64\",\n  \"body\": \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==\"\n}\n```\n\n##### What you **can** do\n\n| Goal | How |\n|------|-----|\n| Serve a local image/PDF/binary from the mocks folder | `\"encoding\": \"file\"`, `\"body\": \"assets/avatar.png\"` (+ usually `Content-Type`) |\n| Serve bytes embedded in the mock JSON | `\"encoding\": \"base64\"`, `\"body\": \"<base64>\"` |\n| Keep classic JSON mocks | Omit `encoding` (default `res.json`) |\n| Choose binary vs proxy vs store by scenario | **Separate** responses (e.g. different `match` / `nameResponse`) — one mode per response |\n| Validate upload then return JSON | `request` (multipart/file) + normal JSON `body` (no `encoding` required) |\n| Proxy multipart/binary upstream unchanged | `proxy` on the response (uses `rawBody`; do **not** set `encoding` on that same response) |\n\n##### What you **cannot** do (startup error)\n\nOne response = **one** output mode. Mixing them on the **same** response fails validation:\n\n| Combination | Result |\n|-------------|--------|\n| `encoding` + `proxy` | ❌ config error |\n| `encoding` + `action` | ❌ config error |\n| `proxy` + `action` | ❌ config error |\n| `encoding` not `file` / `base64` | ❌ config error |\n| `encoding` set but `body` is not a string | ❌ config error |\n| `encoding: \"file\"` with empty / whitespace `body` | ❌ config error |\n| `request.body` / flat `invalidResponse` / … | ❌ config error (use `payload` / `error.*`) |\n\n`encoding` is **not** ignored when `proxy` is present: the server refuses to start so dead config is not silent.\n\n##### Runtime failures (`encoding: \"file\"` / `\"base64\"`)\n\nThese pass config validation but fail when the response is selected:\n\n| Situation | HTTP | Behavior |\n|-----------|------|----------|\n| File path missing under mocks root | `500` | JSON `{ \"message\": \"…\" }` — `Content-Type: application/json` |\n| Path escapes mocks root (`../…`) | `500` | `Response body file path escapes mocks directory: …` |\n\n##### Request side (related)\n\n| Allowed | Not allowed / notes |\n|---------|---------------------|\n| `payload` + optional `as`, `query`, `headers`, `error` | Legacy `body`, `invalidResponse`, `errorFormat`, `errorDetail`, `errorDetailsKey` |\n| `as: \"json\" \\| \"form\" \\| \"multipart\" \\| \"raw\" \\| \"text\"` | If `as` is set and Content-Type does not match → validation error → `error.response` (or generic `400`) |\n| Whole-body rule object | Requires `as: \"text\"` or `as: \"raw\"` (or top-level `type: \"file\"`) |\n| Field rules per type (see [Options by `type`](#payload-field-rules-type--format)) | File shorthand like `\"avatar\": [\"png\"]`; use `{ \"type\": \"file\", \"format\": … }` |\n| Form / multipart coerce `number` / `boolean` from strings | — |\n| `match.headers` / `match.multipart` after validation passes | Empty / non-object `match.headers` / `match.multipart` → startup error |\n\n### Pipeline (body compatibility)\n\n```text\nincoming request\n  → tolerant intake (rawBody when needed)\n  → request?\n       → as? check Content-Type\n       → parse (json | form | multipart | raw | text)\n       → validate payload / query / headers\n            FAIL → error.response (or generic 400)\n            PASS → match → delay → proxy | action | encoding/body\n```\n\nExactly one of `proxy` / `action` / static `body`(+optional `encoding`) runs for the selected response.  \n`request` = “is this valid?” · `match` = “which scenario?” (`match.headers` / `match.multipart` included). They do not replace each other.\n\nProxy value shapes and inheritance: [Mock file — proxy](#proxy-value-shapes), [Mock config](#mock-config-reference). Tutorials: [Advanced examples](docs/advanced-examples.md), [Real-world](docs/real-world.md).\n\n### Migration from 3.x\n\n| Removed (3.x) | Use in 4.0 |\n|---------------|------------|\n| `request.body` | `request.payload` |\n| `invalidResponse` | `error.response` |\n| `errorFormat` | `error.format` |\n| `errorDetail` | `error.detail` |\n| `errorDetailsKey` | `error.key` |\n\nThere is **no** dual-read / alias period: legacy keys are rejected at startup with a clear error.\n\nOut of scope: response multipart *builder*, GraphQL/XML.\n\nFolder organization (`mock.config.json`): [Mock config](#mock-config-reference).  \nMutable store: [Store](#store-reference).\n\n## Mock config reference\n\nOptional folder organization for large mock sets (since **1.18.0**). Put `mock.config.json` at the root of the mocks directory passed to `--path`.\n\n**Repo sample:** [`mocks/mock-config/`](mocks/mock-config) (food delivery: auth, orders, payments). See also [Examples](docs/examples.md), [Real-world](docs/real-world.md).\n\nWithout this file, mocks work as flat JSON files in the mocks directory.\n\n---\n\n### File location\n\n```text\n<mocks-dir>/\n  mock.config.json\n  health.json                 # root JSON still loads\n  auth/\n    login.json\n  orders/\n    list.json\n```\n\nFilename is always `mock.config.json` (`MOCK_CONFIG_FILENAME`).\n\n---\n\n### Root options\n\n| Option | Type | Default | Purpose |\n|--------|------|---------|---------|\n| `delay` | number (≥ 0) | — | Default latency (ms) for root and folder files (folder may override) |\n| `proxy` | URL string \\| `{ target, path? }` | — | Default proxy target. **Not** `true` |\n| `headers` | `Record<string, string>` | — | Default response headers |\n| `strictDuplicates` | boolean | `false` | When `true`, startup fails if the same HTTP method + final route is registered twice |\n| `port` | integer `1`–`65535` | `3001` (effective) | Default listen port. CLI `-p` / `--port` overrides |\n| `folders` | object | — | Declared subfolders and their settings |\n\n`prefix` is **not** allowed at root — only inside `folders` (startup error if present).\n\n---\n\n### Folder options (`folders.<name>`)\n\nFolder name: letters, numbers, `-`, `_`, `.` only. One level under the mocks root (e.g. `auth/*.json`). Only folders **declared** in `folders` are loaded; undeclared directories are ignored.\n\n| Option | Type | Default | Purpose |\n|--------|------|---------|---------|\n| `prefix` | string path | — | Route prefix for every endpoint in that folder (`/api/users` + `login` → `/api/users/login`). No route parameters (`:id`). Leading/trailing `/` normalized |\n| `delay` | number (≥ 0) | — | Overrides root `delay` for files in this folder |\n| `proxy` | URL string \\| `{ target, path? }` | — | Overrides root `proxy`. **Not** `true` |\n| `headers` | `Record<string, string>` | — | Merged with root headers |\n| `enabled` | boolean | `true` | `false` skips the folder (also ignored by `strictDuplicates`) |\n| `include` | string[] | all `.json` | Basename patterns (`*`, `?`); if set, only matching files load |\n| `exclude` | string[] | none | Basename patterns skipped after `include` (e.g. `*-draft.json`) |\n| `stripPrefix` | boolean | `false` | When proxying, remove folder `prefix` from the upstream path. Requires `prefix` |\n| `proxyUnmatched` | `http`/`https` URL | — | Catch-all proxy for requests under this folder `prefix` with no mock route. Requires `prefix` |\n| `storeNamespace` | string | — | Prefixes store ids (`session` → `users:session`). Pattern: letters, numbers, `-`, `_`, `.`. Ids that already contain `:` are left as-is; relation targets in the same folder are namespaced too |\n\nDeclared folder missing on disk → startup error.\n\n---\n\n### Discovery rules\n\n1. Always load root-level `*.json` except `mock.config.json`.\n2. If `folders` is set, for each declared folder with `enabled !== false`, load matching `*.json` files (`include` / `exclude`).\n3. Nested folders deeper than one level are not scanned.\n4. `mock-server add` / `init` still write to the **root** of the mocks directory.\n\n---\n\n### Priority cheat-sheet\n\n| Concern | Order |\n|---------|-------|\n| `port` | CLI `-p` → config `port` → `3001` |\n| `delay` | response → method → folder → root → `0` |\n| `proxy` when response is `true` | method → folder → root config → CLI `--proxy` |\n| `headers` | merge `{ ...root, ...folder, ...response }` (same key → more specific wins) |\n\nExplicit response `proxy` URL / `{ target }` skips the cascade.  \nFolder `proxyUnmatched` only covers unmatched routes **under that prefix**; CLI `--proxy` still catch-alls remaining unmatched routes.\n\n---\n\n### Basic layout\n\n```json\n{\n  \"delay\": 100,\n  \"headers\": {\n    \"X-Mock-Env\": \"local\"\n  },\n  \"folders\": {\n    \"users\": {\n      \"prefix\": \"/api/users\",\n      \"delay\": 200,\n      \"headers\": {\n        \"X-Service\": \"users\"\n      },\n      \"include\": [\"auth.json\", \"profile.json\"],\n      \"exclude\": [\"*-draft.json\"]\n    },\n    \"users-v2\": {\n      \"prefix\": \"/api/users\",\n      \"enabled\": false\n    }\n  }\n}\n```\n\n`users/auth.json` with endpoint `login` → `POST /api/users/login` (prefix + folder delay/headers merged with response headers).\n\n---\n\n### `strictDuplicates`\n\n```json\n{\n  \"strictDuplicates\": true,\n  \"folders\": {\n    \"users\": { \"prefix\": \"/api/users\" },\n    \"auth\": { \"prefix\": \"/api/users\" }\n  }\n}\n```\n\nIf both define `POST login`, startup fails (duplicate final route).\n\n---\n\n### `port`\n\n```json\n{\n  \"port\": 3500,\n  \"folders\": {\n    \"users\": { \"prefix\": \"/api/users\" }\n  }\n}\n```\n\n```bash\nmock-server start              # 3500 from config\nmock-server start -p 4000      # 4000 (CLI wins)\n```\n\n---\n\n### `delay` overrides\n\n| Request context | Delay used |\n|-----------------|------------|\n| Response has `delay` | that value |\n| Else method has `delay` | method value |\n| Else folder / root config | folder then root |\n| None | `0` |\n\n---\n\n### `headers` merge\n\nFinal headers = `{ ...root, ...folder, ...response }`.\n\n---\n\n### `proxy: true` on a response\n\nSee [Mock file — proxy](#proxy-value-shapes). Orphan `proxy: true` with no method/folder/root/CLI target → **502**.\n\n---\n\n### `stripPrefix`\n\n```json\n{\n  \"folders\": {\n    \"users\": {\n      \"prefix\": \"/api/users\",\n      \"proxy\": \"http://localhost:4000\",\n      \"stripPrefix\": true\n    }\n  }\n}\n```\n\nIncoming `GET /api/users/42` with `\"proxy\": true` → upstream `http://localhost:4000/42`.\n\n---\n\n### `proxyUnmatched`\n\n```json\n{\n  \"folders\": {\n    \"users\": {\n      \"prefix\": \"/api/users\",\n      \"stripPrefix\": true,\n      \"proxyUnmatched\": \"http://localhost:4000\"\n    }\n  }\n}\n```\n\nMocked routes under the prefix stay local; other paths under the prefix proxy to the target (with strip when enabled). Outside the prefix: use CLI `--proxy`.\n\n---\n\n### `storeNamespace`\n\n```json\n{\n  \"folders\": {\n    \"users\": { \"prefix\": \"/api/users\", \"storeNamespace\": \"users\" },\n    \"orders\": { \"prefix\": \"/api/orders\", \"storeNamespace\": \"orders\" }\n  }\n}\n```\n\nLocal `\"id\": \"session\"` becomes runtime `users:session`. Same-folder references keep writing `\"id\": \"session\"`. Cross-folder relations use the full id (`\"store\": \"users:session\"`).\n\n`--reset-store` must use the **runtime** id:\n\n```bash\nmock-server start --reset-store users:session\nmock-server start --reset-store\n```\n\nSee [Store](#store-reference), [CLI](#cli-reference).\n\n---\n\n### Related\n\n- [CLI](#cli-reference)\n- [Mock file](#mock-file-reference)\n- [Validation](#validation-reference)\n- [Body compatibility](#body-compatibility)\n\n## Store reference\n\nOpt-in feature (≥ `1.11.0`; advanced list filters ≥ `1.12.0`; composite unique ≥ `1.13.0`; soft delete ≥ `1.14.0`; relations ≥ `1.15.0`; customizable `notFound` ≥ `1.16.0`; list-on-by-default ≥ `3.0.0`). Without `store` + `action`, mocks stay static.\n\nData lives in memory for the process lifetime; optionally survive restarts with `persist`.\n\nThis section is the store **field and behavior reference** (actions, definition vs reference, soft delete, relations, persist, list/filter, statuses). Store-backed product walkthroughs **C–R** live in [Store recipes](docs/store-recipes.md). Minimal samples: [Example A](#example-a--simple-notes-crud) and [Example B](#example-b--complex-multi-tenant-users) below. For multi-feature / multipart / folder scenarios, see [Real-world](docs/real-world.md). Also: [Examples](docs/examples.md), [CLI `--reset-store`](#start).\n\n#### Capability map\n\n| You need… | Use | Deep dive |\n|-----------|-----|-----------|\n| Collection + CRUD | `store` + `action` | [Actions](#actions), [Schema](#schema-definition-vs-reference) |\n| Soft delete / trash | `store.softDelete` | [Soft delete](#soft-delete) |\n| Relations / FK | `store.relations` | [Relations](#relations) |\n| Auto ids / defaults | `key`, `template` | [Key generation](#key-generation-on-create) |\n| Seed data | `seed` | [Schema](#schema-definition-vs-reference) |\n| Business uniqueness | `unique` + `409` | [Conflicts](#conflicts-409) |\n| Custom missing item | `store.notFound` | [Not found](#not-found-404) |\n| Survive restart | `persist` / `--reset-store` | [Persist and restart](#persist-and-restart-behavior) |\n| Validate payload/query | `request` | [Body compatibility](#body-compatibility) |\n| Branch by params/query/body/call | `match` | [Mock file — match](#match), [Advanced examples](docs/advanced-examples.md) |\n| Page / offset / cursor lists | `store.list` | [List sort and pagination](#list-sort-and-pagination-storelist) |\n| Filters / search / multi-sort | `store.list.filter` / `sort` | [Filters / search](#filters--search), [Multi-sort](#multi-sort) |\n| Custom list JSON | list placeholders | [Response templates](#response-templates-fully-customizable) |\n| Forward to real API | `proxy` (**not** with `action`) | [Mock file — proxy](#proxy-value-shapes) |\n| Long product recipes (todo, SaaS, e-commerce, auth, …) | — | [Store recipes](docs/store-recipes.md) (Examples C–R) |\n\nPipeline (every request): `request` → `match` → `delay` → exactly one of `proxy` / `action` / static `body` (optional `encoding`).  \nList pipeline (inside `action: \"list\"` + `store.list`): key params → `fields` (AND) → `or` → `search` → sort → page/offset/cursor → templates.\n\n#### How it works\n\n1. Put `store` at **endpoint level** (sibling of `GET` / `POST` / …, not inside a method).\n2. Define the collection **once** (full object with `id`, optional `key` / `seed` / `template` / `unique` / `persist`).\n3. Other routes that share data use the **reference** form: `\"store\": { \"id\": \"notes\" }`.\n4. On each response you want to mutate/read the collection, set `\"action\": \"list\" | \"get\" | \"create\" | \"update\" | \"patch\" | \"delete\" | \"restore\"`.\n\nRequest pipeline (fixed order):\n\n1. `request` validation (if any) → may return `error.response` and **never** hits the store  \n2. `match` → picks a response (`nameResponse` fallback)  \n3. `delay` (once)  \n4. Exactly one of `proxy` / `action` / static `body`(+optional `encoding`) on the selected response\n\n#### Actions\n\n| Action | Behavior | Success status | Common errors |\n|--------|----------|----------------|---------------|\n| `list` | Returns items. Filters by route `key` params. List engine on by default (omit / `true` / object): filter (`fields`/`or`/`search`) → multi-sort → page/offset/cursor. `\"list\": false` returns a plain full array. Optional `body`/`headers` templates. Soft-deleted items omitted unless `?includeDeleted=true` | response `statusCode` | `400` (invalid page/sort/order/cursor/filter query) |\n| `get` | Loads one item; all `key` fields must come from route params. Soft-deleted → `404` unless `?includeDeleted=true` | response `statusCode` | `404` (default or `store.notFound`) |\n| `create` | Inserts; merges `template` + body; auto-generates missing numeric key fields; route params override key fields. Soft-deleted rows do not count toward `unique`/`key` | typically `201` | `400` (body not object), `409` (conflict) |\n| `update` | Full replace (`template` + body), preserves existing key. Soft-deleted → `404` | response `statusCode` | `404` / `400` / `409` |\n| `patch` | Partial merge on existing item (no template), preserves key. Soft-deleted → `404` | response `statusCode` | `404` / `400` / `409` |\n| `delete` | Without `softDelete`: removes item. With `softDelete`: sets the delete field (ISO) and keeps the row. Runs `relations.onDelete` on dependents first. **Always** `204` with empty body on success (`statusCode` in JSON is ignored, warning if ≠ 204) | `204` | `404` / `409` (restrict) |\n| `restore` | Requires `store.softDelete`. Clears the delete field and returns the item. Soft-deleted-only; active or missing → `404` | response `statusCode` | `404` / `409` |\n\nRules for `action`:\n\n- Requires `store` on the endpoint  \n- Cannot be combined with `proxy` on the same response  \n- `body` is optional; ignored with warning for actions other than `list`  \n- For `list`, `body` and `headers` may be templates with placeholders (see below)  \n- Returned items are **clones** (mutating the HTTP response does not mutate the store)\n- `restore` is only valid when the store definition has `softDelete`\n\n#### Soft delete\n\nSoft delete means: **the item stays in the collection**, but is marked deleted (default field `deletedAt` = ISO timestamp). Clients that call `list` / `get` / `update` / `patch` treat it as gone, unless they ask for trash with `?includeDeleted=true` (or `1`). `action: \"restore\"` clears the mark.\n\n##### Why it lives on `store`, not on the HTTP `DELETE`\n\n`softDelete` is a property of the **collection**, not of one route:\n\n1. **Same data, many verbs.** After a soft delete, `list` must hide the row, `get`/`patch` must 404, and `unique` must free the email/title. That logic belongs to the store that holds the rows, not to the `DELETE` response alone.\n2. **`DELETE` only triggers the action.** The HTTP method still uses `\"action\": \"delete\"`. With soft delete on, that action **marks**; without it, that action **removes**. Same verb, different store policy.\n3. **One policy per `store.id`.** Every endpoint that references `{ \"id\": \"notes\" }` shares the same in-memory Map. Putting soft delete on the store definition once keeps list/get/delete/restore consistent. Putting it only on the `DELETE` response would leave other actions unaware.\n\nSo: configure `\"softDelete\": true` (or `{ \"field\": \"deletedAt\" }`) on the **full store definition**. The `DELETE` endpoint does not need a special soft-delete flag — only `\"action\": \"delete\"` and a `store` that already has soft delete enabled.\n\n##### Why a single endpoint is enough\n\nYou do **not** need `GET` list + `POST` create + `DELETE` for soft delete to work. Soft delete only needs:\n\n1. A store definition with `softDelete` (and usually `seed`, or a `create` route, so there is something to delete).\n2. A response with `\"action\": \"delete\"`.\n\nExample — delete-only mock:\n\n```json\n\"api/notes/:id\": {\n  \"store\": {\n    \"id\": \"notes\",\n    \"softDelete\": true,\n    \"seed\": [{ \"id\": 1, \"title\": \"Keep\" }]\n  },\n  \"DELETE\": {\n    \"nameResponse\": \"remove\",\n    \"responses\": [\n      { \"name\": \"remove\", \"statusCode\": 204, \"action\": \"delete\" }\n    ]\n  }\n}\n```\n\n`DELETE /api/notes/1` returns 204 and sets `deletedAt` on that row. There is no list route here, so you cannot “see” the trash over HTTP until you add `get`/`list`/`restore` — but the soft delete **did** run in the store.\n\nWhen you **do** share the store across routes (`api/notes` + `api/notes/:id`), keep **one** full definition (with `softDelete`) and use `{ \"id\": \"notes\" }` elsewhere — see [Schema (definition vs reference)](#schema-definition-vs-reference). Do not add `softDelete` on a reference; that becomes a second definition and fails startup.\n\n##### Behavior\n\n```json\n\"store\": {\n  \"id\": \"notes\",\n  \"softDelete\": true\n}\n```\n\nor `\"softDelete\": { \"field\": \"deletedAt\" }`.\n\n| | Without `softDelete` | With `softDelete: true` |\n|--|----------------------|-------------------------|\n| `action: \"delete\"` | Removes the item | Keeps the item and sets `deletedAt` (ISO) |\n| `list` / `get` | Normal | Soft-deleted items hidden (unless `?includeDeleted=true` or `1`) |\n| `update` / `patch` | Normal | Soft-deleted → `404` |\n| `unique` / `key` | Counts all items | Soft-deleted ignored (values free to reuse) |\n| `action: \"restore\"` | Invalid | Clears `deletedAt` and returns the item |\n\nAlso:\n\n- Absent/`null` delete field = active. Soft-deleting an already soft-deleted item → `404`.\n- Persist keeps soft-deleted rows as-is (same file format).\n\n#### Relations\n\nOpt-in links between stores: `type: \"one\"` (FK) and `type: \"many\"` (reverse embed). Targets may use a **simple or composite** store `key`.\n\n##### `type: \"one\"` (default)\n\n```json\n\"relations\": {\n  \"userId\": {\n    \"store\": \"users\",\n    \"join\": { \"from\": \"userId\", \"to\": \"id\" },\n    \"required\": true,\n    \"onDelete\": {\n      \"action\": \"restrict\",\n      \"conflict\": { \"response\": \"has-posts\" }\n    },\n    \"embed\": { \"as\": \"user\" },\n    \"conflict\": {\n      \"response\": \"invalid-user\",\n      \"detail\": { \"field\": \"{{field}}\", \"value\": \"{{value}}\" }\n    }\n  },\n  \"orderRef\": {\n    \"store\": \"orders\",\n    \"join\": {\n      \"from\": [\"tenantId\", \"orderId\"],\n      \"to\": [\"ten","readmeFilename":"README.md"}