{"_id":"cypress-backend-tool","_rev":"31-9e0f12964587863f8d96196c8107d166","name":"cypress-backend-tool","dist-tags":{"latest":"1.1.6"},"versions":{"1.0.0":{"name":"cypress-backend-tool","version":"1.0.0","author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"_id":"cypress-backend-tool@1.0.0","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"dist":{"shasum":"d4f2cabc8838a1078a40fbe70b2c9f48a6751a4b","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.0.tgz","fileCount":7,"integrity":"sha512-yDDQcco1jbgEPN1KJD87cAZSBQ4DNLHMjujvUrgy60kSxLFMjbZ+UUmJFS4LqCr2MCntYrEqMX2sh1lbAEj0uA==","signatures":[{"sig":"MEQCIAsrbYqmOTAQEVmn5MofBHR7sWOhkBEdjiiLlkD9j9fhAiBHk6yGC20O3y+T0UjVsukaLw1PoUSZC0yP+BRnvxLuqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215719},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"ad4fd5531693cbaaf93f9b2737f7bcc0692c2cc9","scripts":{"cy":"cypress open","test":"cypress run","build":"npm run build:ui && npm run build:plugin","check":"tsc --noEmit -p cypress/support/plugin/tsconfig.json","build:ui":"vite build --config vite.lib.config.ts","build:plugin":"tsc -p cypress/support/plugin/tsconfig.json"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","_npmVersion":"11.12.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pg":"^8.20.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.6","svelte":"^5.55.1","cypress":"^15.13.0","@types/pg":"^8.20.0","typescript":"^6.0.2","@types/node":"^25.5.2","@sveltejs/vite-plugin-svelte":"^7.0.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.0_1775571942484_0.40125307300859836","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"cypress-backend-tool","version":"1.0.1","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.1","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"ba48512a9d2aaf97a8429f2575f9e7db06f3aa69","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.1.tgz","fileCount":7,"integrity":"sha512-+V/hUSMMWomWQOaq2lXc7zWFt9FOxjWCkHsDecUWDYiQ3K7CYCbUYmu2OPhFEcyqpoFrb0luWm1okNiB7njXJg==","signatures":[{"sig":"MEQCIFmOINZqW7IADAkA4SgQilFlmb1NoIhcx5XvWjo+tm5nAiBgZfOVxaKM7oY0IcCUEMyxAgyxV77nPThX0G7Xh5mVyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215938},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"49cc83d94ad5fde6ff0d344d70d66a715049240e","scripts":{"cy":"cypress open","test":"cypress run","build":"npm run build:ui && npm run build:plugin","check":"tsc --noEmit -p cypress/support/plugin/tsconfig.json","build:ui":"vite build --config vite.lib.config.ts","build:plugin":"tsc -p cypress/support/plugin/tsconfig.json"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"11.12.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pg":"^8.20.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.6","svelte":"^5.55.1","cypress":"^15.13.0","@types/pg":"^8.20.0","typescript":"^6.0.2","@types/node":"^25.5.2","@sveltejs/vite-plugin-svelte":"^7.0.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.1_1775572384592_0.5279627670484344","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"cypress-backend-tool","version":"1.0.2","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.2","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"40d588ec8caf715b6d266a5e36c51836a6f162e9","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.2.tgz","fileCount":28,"integrity":"sha512-sf9vWSD1Bas7WkNedcemwTGdmH3JStaaWF3NnXAR39Hhw0q4cHPPK9qDsC+fceA+zh3iEXHibEzJtx6epKWKyQ==","signatures":[{"sig":"MEUCIGpxz4zISMuV17Nr+wfi/uFpRhCttaP3A2yoOL976nrVAiEAgXiKPpx5zCoh6n8PW5REbEbKip5SedwaB+7r+o7qHhc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213939},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"8b979cb9cbca576e4e5c5ae0d95ee5cf98e6d9d4","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"11.12.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.16.0","dependencies":{"pg":"^8.22.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","jsdom":"^29.1.1","eslint":"^10.5.0","svelte":"^5.56.4","vitest":"^4.1.9","cypress":"^15.18.0","globals":"^17.7.0","@types/pg":"^8.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.0.1","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.62.0","@vitest/coverage-v8":"^4.1.9","eslint-plugin-svelte":"^3.20.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^7.1.2"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.2_1782512753719_0.8183675549276761","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"cypress-backend-tool","version":"1.0.3","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.3","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"75b6291310b934514782aed9a0a8fb0ad1f79da3","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.3.tgz","fileCount":28,"integrity":"sha512-LhbPEu0/O21qsn91Ep6DgHKwyb8eytkwBNyP+hujtNUoP1HYRdQWhvZzN6SELeTcqN0p6p7I2HEY2oJR60j5UA==","signatures":[{"sig":"MEUCICn+6I+gfoLgdzrjVZNVywg5438egDSIXqjpxSjGunoaAiEA1I7ycww6ESny97eMFNW45b8vD+7WnBEb1sBwA3MEFIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215701},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"4dc12aa78534c101d292e193583161bff2f23717","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"11.12.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.16.0","dependencies":{"pg":"^8.22.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","jsdom":"^29.1.1","eslint":"^10.6.0","svelte":"^5.56.4","vitest":"^4.1.9","cypress":"^15.18.0","globals":"^17.7.0","@types/pg":"^8.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.0.1","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.62.0","@vitest/coverage-v8":"^4.1.9","eslint-plugin-svelte":"^3.20.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^7.1.2"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.3_1782531091236_0.16409694118001927","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"cypress-backend-tool","version":"1.0.4","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.4","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"38cc67975cc016f014b13211d605a6c25dac0126","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.4.tgz","fileCount":28,"integrity":"sha512-OB6wT2b1vHbUcnPX08cb5SvXAqZOEANMGmBPlQ++KfcODYzVMNB3jfczUPRiMImxyvZWa4qXuiDRr7bHfEuOUQ==","signatures":[{"sig":"MEUCIQDYIpdYsrzm+GR3HqkAkCbv3Qlt09Lnh7PjXfZJKrzy3AIgFyDaZQjOwx4XLv0Ahw50jTOH960ZsD0kQHxUtls8PiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219847},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"f44e6222fec33e5042db62282f10480b244e5637","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.22.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^30.0.1","eslint":"^10.8.0","svelte":"^5.56.8","vitest":"^4.1.10","cypress":"^15.19.0","globals":"^17.8.0","@types/pg":"^8.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.2","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^7.2.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.4_1785429507668_0.08361137345688219","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"cypress-backend-tool","version":"1.0.5","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.5","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"d9d57d421583a47bcad12c2025b4490da8aa4524","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.5.tgz","fileCount":32,"integrity":"sha512-mtD+HZPwtcHkvBDfJ6Y0nH5d3DP13GAxiFEYxP9hmw7Kf+j8eQ6tWONXT7TR8JB1zGnoy7hHFfzEqfYgJ/XENw==","signatures":[{"sig":"MEUCIQCSoIXTK0yVCajqCvRhhob9nWJF/xZ0fnGL73cR6Rtn8AIgQTig6r/zKtQpJGJ1Wt6AuCmgCXb9M+Um2qQcSU2LeE0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228635},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js"}},"gitHead":"137b7a0ab0b6ee3cf10adfc734ef67f9b1971426","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.22.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^30.0.1","eslint":"^10.8.0","svelte":"^5.56.8","vitest":"^4.1.10","cypress":"^15.19.0","globals":"^17.8.0","@types/pg":"^8.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.2","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^7.2.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.5_1785435133801_0.6989620309115774","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"cypress-backend-tool","version":"1.0.6","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.6","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"e6942cfd461a1908dbd271fd04b5798b73dff8a7","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.6.tgz","fileCount":32,"integrity":"sha512-MXhaGum1FjgTAegXT6JhgD0WinMjL6Y/OToGf3rXgu1tj26DHt2frDgKnL2ooG0Djr5RqB+Jo/kjwB+qZ1awtw==","signatures":[{"sig":"MEQCIFsjyzDFWZVE8lELocwoSYe/xYjHjWQJdStYN3JuU2pnAiA1U/dSzEOm+cHcMT7Pa7tymnTqsYn8TSarwMEBKhFUnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228750},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"6aaf15699d46d2674d80dfd3d51ed4311615c4b3","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.22.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^30.0.1","eslint":"^10.8.0","svelte":"^5.56.8","vitest":"^4.1.10","cypress":"^15.19.0","globals":"^17.8.0","@types/pg":"^8.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.2","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^7.2.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.6_1785437179619_0.5016428780866558","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"cypress-backend-tool","version":"1.0.8","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.8","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"a55180bb5cb6f37f66a54c10a6b14b9f7cd10802","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.8.tgz","fileCount":32,"integrity":"sha512-piDA2vpu/noex8mhwMExswO7dzb5LggMSdEOdP6rPKFdtww7lKITipWaJ9d6r3uMRd2luQ2iDzhd8EURgmyxyQ==","signatures":[{"sig":"MEUCIQCPZ39xF0yRCRMSMiHAZyN3lxkhQBZo+59DQlrlM19OaAIgU4zgQmSctMoHzgDJgYcnwMoiJ2aOhGTeBQzYG/SfRuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228750},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"db11749c8840c0ae20e011ece1abfb54556a4b6b","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.22.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^30.0.1","eslint":"^10.8.0","svelte":"^5.56.8","vitest":"^4.1.10","cypress":"^15.19.0","globals":"^17.8.0","@types/pg":"^8.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.2","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^7.2.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.8_1785445939920_0.5760174535067868","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"cypress-backend-tool","version":"1.0.9","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.9","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"f724d3cb9e13e9632bdadf0b9b6242aad9225d27","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.9.tgz","fileCount":38,"integrity":"sha512-KCWDdvnLteqsd9E33Np+Gz1xUuQOGODilztVK/5Xj/de/POufbtsd87fOQYbSElDZC739zC5x71x8UxLcNySRw==","signatures":[{"sig":"MEUCIQD2n5RtaWjfS1X9BPzeaErN2pTL6LW4ys9kjfbgotpPCgIgPU1SoRw72pg2c3vcZ1Kz++/MxBFGJh5Fq1YfQz1Qfx0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236593},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"30d8f17bc8c688e8a2fdc39a55ea0213b714a806","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.22.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^30.0.1","eslint":"^10.8.0","svelte":"^5.56.8","vitest":"^4.1.10","cypress":"^15.19.0","globals":"^17.8.0","@types/pg":"^8.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.2","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^7.2.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.9_1785459982059_0.204806092729239","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"cypress-backend-tool","version":"1.0.10","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.10","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"fae2ce7f67f763f55fecd8f10ca7a19683a14063","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.10.tgz","fileCount":38,"integrity":"sha512-loqOzAl7s2wljPdH2A59apjGAF8Xvfw9XZ5AwBKcV5Bw3VaZzpfDiMzBjtUGotYMyvbEx1jzgFr+RZooRW8cxQ==","signatures":[{"sig":"MEUCIF+Hrejp+/6BtHLT6V1vkDdxYllFtAL5ZqMlabASu/yoAiEAsVoPzAViz0B5OQTz+Tb8PJcalBJ7Is/V22SHWgRidZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236631},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"30d8f17bc8c688e8a2fdc39a55ea0213b714a806","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.22.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^30.0.1","eslint":"^10.8.0","svelte":"^5.56.8","vitest":"^4.1.10","cypress":"^15.19.0","globals":"^17.8.0","@types/pg":"^8.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.2","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^7.2.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.10_1785460412458_0.6361754260839183","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"cypress-backend-tool","version":"1.0.11","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.0.11","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"7cead434bccfefda683e73931b0ff382d3529d92","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.0.11.tgz","fileCount":38,"integrity":"sha512-df5OUF8D0AG+gv6W+Cz56FMBSO49mOjc2vBzj+cOYxUrn2/QfZcl794g8p99N/oL8q8/3HlVNpbZUr2tU+iSgQ==","signatures":[{"sig":"MEYCIQDASDC6wH5UjKEzpMMT3XUrrw0IRtvmJUSbxZ17jOSLGAIhAJgAq2CFGXL/VZiYktDje6DsmaBsREmDxBP4ba9iEOhi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234428},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"30d8f17bc8c688e8a2fdc39a55ea0213b714a806","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"Deprecated: use 1.1.0 (fixes empty snapshot on hover, JSON formatting, linter config)","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.1","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.22.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^30.0.1","eslint":"^10.8.0","svelte":"^5.56.8","vitest":"^4.1.10","cypress":"^15.19.0","globals":"^17.8.0","@types/pg":"^8.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.2","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^7.2.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.0.11_1785461117103_0.4052070854809069","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"cypress-backend-tool","version":"1.1.0","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.1.0","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"083d63b7ba8ad3bdd40839efd3549b420d43ad3c","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.1.0.tgz","fileCount":38,"integrity":"sha512-REvLwTW4h1fl/2KzAibCdMXeYhKI9fm513knrynxxPaLHmh+nbsGSZ+e14ivyAmbO41zT4xLW0h6OccQHJaVlQ==","signatures":[{"sig":"MEYCIQCKK44eP3X/jHC/pfY8ZkRMVay1yQF48BKG+gcE9YZvdQIhAPvbkJUUPhWoYc+Sx5mMjTb931B6hCzGclC50vf37eUg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239991},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"0032f887d2e39eccea911750f0d16b116c3b7f5e","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.2","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.23.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","eslint":"^10.8.1","svelte":"^5.56.8","vitest":"^4.1.10","cypress":"^15.20.1","globals":"^17.9.0","@types/pg":"^8.21.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.3","@sveltejs/vite-plugin-svelte":"^7.3.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.1.0_1786406760382_0.509609682706236","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"cypress-backend-tool","version":"1.1.1","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.1.1","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"34f9f9c7ed37d48b18a4eb876fd1d11d8e51f525","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.1.1.tgz","fileCount":39,"integrity":"sha512-EqJM5PL5QVMHdY9oksCh68bmC1XYTswrOPCKpwL2oE2Iq9jAsZW7iYQCe5ZwHej1GjF5Ep6FFjzsW/5LKEP9MQ==","signatures":[{"sig":"MEQCIE8lId3YiIW5LOA6iQYHDUDRewDSTmKo70j5sqlyNRIyAiBKTcaydingzjZsY3y8T+swmAsdHhUrT62GCtFqwyJ4Pg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249332},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"f201a89de7fa9fc27eb8bae579bc9f0fa48277aa","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.2","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.18.0","dependencies":{"pg":"^8.23.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","eslint":"^10.8.1","svelte":"^5.56.8","vitest":"^4.1.10","cypress":"^15.20.1","globals":"^17.9.0","@types/pg":"^8.21.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","svelte-eslint-parser":"^1.8.0","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.3","@sveltejs/vite-plugin-svelte":"^7.3.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.1.1_1786416527738_0.697588494436183","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"cypress-backend-tool","version":"1.1.2","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.1.2","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"a2a161ea90e82502e041894a90f05c51ae3f718b","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.1.2.tgz","fileCount":46,"integrity":"sha512-GXZnlNFcurW1UTCb4jQSmQ2G6KW+3TbDzsVn/3/HHhdhvftjQHGJEAlxI9JNm/W5LezRO9azXRhULTZ6w5F/0A==","signatures":[{"sig":"MEQCIF7BynPI5AnkU4Xy4S7Unz4PRWSGFWoDWdm5258XNPLMAiAgPC9l3Hzs11H9Ea9l5qLQGfHeNMbYuzYpuu2i99paAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":282611},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"a9d40b15b80d5c3c143399d8ef896e008e67f634","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.2","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pg":"^8.23.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","eslint":"^10.9.0","svelte":"^5.56.10","vitest":"^4.1.11","cypress":"^15.21.0","globals":"^17.11.0","@types/pg":"^8.23.1","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.11","eslint-plugin-svelte":"^3.23.0","svelte-eslint-parser":"^1.8.1","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.5","@sveltejs/vite-plugin-svelte":"^7.3.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.1.2_1787356149036_0.733542484824298","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"cypress-backend-tool","version":"1.1.3","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.1.3","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"34262245d3ee17602b184543a4afe23249078f58","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.1.3.tgz","fileCount":51,"integrity":"sha512-T88ukClJmjJmFMy/aTrwPf67k2Gh+H2Cm+JPBXUXwRMehZT3oXZ8V34Zlv2tSJKSehmg4MFF4GU12hoCpOr7yg==","signatures":[{"sig":"MEYCIQCMt9guvf6j9mj5eGRlkWvD20jER2HCeOmAsN/5gfiRQgIhAMMbq2wq9n5wxKDvX4I6rNLItH1ihpcVaMlQeDQ+iKLv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334970},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"212a347151e75dbe89a1dc4b7633ae97a32105cc","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"critical: ResizeObserver loop breaks all tests, please upgrade to 1.1.4","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.2","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pg":"^8.23.0","dotenv":"^17.4.2","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","eslint":"^10.9.0","svelte":"^5.56.10","vitest":"^4.1.11","cypress":"^15.21.0","globals":"^17.11.0","@types/pg":"^8.23.1","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.11","eslint-plugin-svelte":"^3.23.0","svelte-eslint-parser":"^1.8.1","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6","@sveltejs/vite-plugin-svelte":"^7.3.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.1.3_1787626873285_0.28621228905158524","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"cypress-backend-tool","version":"1.1.4","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.1.4","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"330a6e464f9f2f10ab5aec63ee32c71d7a2d39b6","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.1.4.tgz","fileCount":51,"integrity":"sha512-Yvu5MbmJctOEZH33MnXRsh5zg75XGatT3luHsfcFXBC1YVG29gyEzEZLccqzrptoMSTHOvXGqzLNviRYJKH1dQ==","signatures":[{"sig":"MEUCIGQAC6q5WGeqkPJdIz4Wkn/m8NODXjgLFOmlmTMytx23AiEA2I965sJ0YyobGqF/4d8Ys1cDiqaCBI7MXiyy7AheGMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":335166},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"6ab6b9576c043335869fc073ac7e97fa43fe9697","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"deprecated":"critical: ResizeObserver loop - use 1.1.5","repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.2","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pg":"^8.23.0","dotenv":"^17.4.2","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","eslint":"^10.9.0","svelte":"^5.56.10","vitest":"^4.1.11","cypress":"^15.21.0","globals":"^17.11.0","@types/pg":"^8.23.1","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.11","eslint-plugin-svelte":"^3.23.0","svelte-eslint-parser":"^1.8.1","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6","@sveltejs/vite-plugin-svelte":"^7.3.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.1.4_1787633288326_0.7500873133620791","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"cypress-backend-tool","version":"1.1.5","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","_id":"cypress-backend-tool@1.1.5","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"dist":{"shasum":"c4b5c13c82894680641d0433707f28b4751784f4","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.1.5.tgz","fileCount":51,"integrity":"sha512-V0D/aGd3AAC68DKf1aL5WeZ9rZl7HWLf67IYri/5wdr8MhrzdQ8inlhILzaDW6YYVa4DnVZC7zdN/SRq8mxOdw==","signatures":[{"sig":"MEUCIAF1x/z+OnlkQfb0hFTKKlQ4abgo4mxMug1RB+aojL3oAiEA0i3Cc14Rx6YfP+c25zVIb41lKV8SUVnGg38GhL4vyVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":335824},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"gitHead":"aa17a873593040744677e3cfda204fdf11756fb3","scripts":{"ui":"cypress open","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","watch":"vitest","coverage":"vitest run --coverage"},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"repository":{"url":"git+https://github.com/Gabox301/cypress-backend-tool.git","type":"git"},"_npmVersion":"12.0.2","description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pg":"^8.23.0","dotenv":"^17.4.2","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","eslint":"^10.9.0","svelte":"^5.56.10","vitest":"^4.1.11","cypress":"^15.21.0","globals":"^17.11.0","@types/pg":"^8.23.1","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.67.0","@vitest/coverage-v8":"^4.1.11","eslint-plugin-svelte":"^3.23.0","svelte-eslint-parser":"^1.8.1","@testing-library/svelte":"^5.4.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6","@sveltejs/vite-plugin-svelte":"^7.3.0"},"peerDependencies":{"cypress":">=15.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cypress-backend-tool_1.1.5_1787635845877_0.9482307468995042","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"cypress-backend-tool","version":"1.1.6","author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","license":"MIT","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"repository":{"type":"git","url":"git+https://github.com/Gabox301/cypress-backend-tool.git"},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tasks":{"types":"./dist/tasks.d.ts","import":"./dist/tasks.js","default":"./dist/tasks.js"},"./package.json":"./package.json"},"type":"module","scripts":{"build":"npm run check && npm run lint && npm run unit && vite build","check":"tsc --noEmit","lint":"eslint .","test":"vitest run && cypress run","unit":"vitest run","watch":"vitest","coverage":"vitest run --coverage","ui":"cypress open"},"dependencies":{"dotenv":"^17.4.2","pg":"^8.23.0","prismjs":"^1.30.0","set-cookie-parser":"^3.1.2"},"devDependencies":{"@eslint/js":"^10.0.1","@sveltejs/vite-plugin-svelte":"^7.3.0","@testing-library/jest-dom":"^7.0.1","@testing-library/svelte":"^5.4.2","@testing-library/user-event":"^14.6.7","@types/node":"^26.5.0","@types/pg":"^8.23.1","@vitest/coverage-v8":"^5.0.0","cypress":"^16.0.0","eslint":"^10.10.0","eslint-plugin-svelte":"^3.23.0","globals":"^17.12.0","jsdom":"^30.0.1","svelte":"^5.57.0","svelte-eslint-parser":"^1.8.1","typescript":"^6.0.3","typescript-eslint":"^8.70.0","vite":"^8.2.2","vite-plugin-dts":"^5.1.0","vitest":"^5.0.0"},"peerDependencies":{"cypress":">=15.10.0"},"engines":{"node":">=22"},"gitHead":"d8a09aba40ef1ec64d57731605466bce92f6a5ce","_id":"cypress-backend-tool@1.1.6","bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","_nodeVersion":"24.20.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-71TTcYzWL6j/Yl4gyYYNzn3TizMYnfIkmYh+0gRvNGFduPk8mqFxrfzVF+i+G7X9Jrrdk9xkC9U+kkqRo5694g==","shasum":"758893ce7648f1d0c3ec42a89cc1df9c3796942f","tarball":"https://registry.npmjs.org/cypress-backend-tool/-/cypress-backend-tool-1.1.6.tgz","fileCount":9,"unpackedSize":327442,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG1a21kvwqS24PR0L5VTGQ+wSjOS2pxp9ufJj/NltjOsAiAjPrDmwroIUZkJycOiL5z35Gm6C10fU7r2egm7QHwwRA=="}]},"_npmUser":{"name":"gabo-tech","email":"gabotest301@gmail.com"},"directories":{},"maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cypress-backend-tool_1.1.6_1788809419614_0.30795565431567407"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-07T14:25:42.483Z","modified":"2026-09-07T19:30:19.958Z","1.0.0":"2026-04-07T14:25:42.620Z","1.0.1":"2026-04-07T14:33:04.756Z","1.0.2":"2026-06-26T22:25:53.895Z","1.0.3":"2026-06-27T03:31:31.382Z","1.0.4":"2026-07-30T16:38:27.825Z","1.0.5":"2026-07-30T18:12:13.955Z","1.0.6":"2026-07-30T18:46:19.800Z","1.0.8":"2026-07-30T21:12:20.082Z","1.0.9":"2026-07-31T01:06:22.260Z","1.0.10":"2026-07-31T01:13:32.614Z","1.0.11":"2026-07-31T01:25:17.285Z","1.1.0":"2026-08-11T00:06:00.520Z","1.1.1":"2026-08-11T02:48:47.889Z","1.1.2":"2026-08-21T23:49:09.181Z","1.1.3":"2026-08-25T03:01:13.461Z","1.1.4":"2026-08-25T04:48:08.475Z","1.1.5":"2026-08-25T05:30:46.030Z","1.1.6":"2026-09-07T19:30:19.811Z"},"bugs":{"url":"https://github.com/Gabox301/cypress-backend-tool/issues"},"author":{"name":"Gabriel Ortega","email":"https://github.com/Gabox301"},"license":"MIT","homepage":"https://github.com/Gabox301/cypress-backend-tool#readme","keywords":["cypress","plugin","api","http","postgresql","database","testing","ui"],"repository":{"type":"git","url":"git+https://github.com/Gabox301/cypress-backend-tool.git"},"description":"Cypress plugin for API testing and PostgreSQL queries with UI interface","maintainers":[{"name":"gabo-tech","email":"gabotest301@gmail.com"}],"readme":"> [English](./README.en.md) | **Español**\n\n# cypress-backend-tool\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/cypress-backend-tool\">\n    <img src=\"https://img.shields.io/npm/v/cypress-backend-tool\" alt=\"npm version\">\n  </a>\n  <a href=\"https://www.npmjs.com/package/cypress-backend-tool\">\n    <img src=\"https://img.shields.io/npm/dm/cypress-backend-tool\" alt=\"npm downloads\">\n  </a>\n  <a href=\"https://github.com/Gabox301/cypress-backend-tool/blob/master/LICENSE\">\n    <img src=\"https://img.shields.io/npm/l/cypress-backend-tool\" alt=\"license\">\n  </a>\n</p>\n\nPlugin de Cypress para testing de APIs HTTP y consultas a bases de datos PostgreSQL con UI visual integrada en el runner.\n\n## Características\n\n- **UI persistente**: Cada request/query tiene su propia entrada permanente en el DOM. Los snapshots de Cypress son estables entre `it()` blocks — nunca verás un panel en blanco al inspeccionar una llamada anterior.\n- **Soporte PostgreSQL**: Ejecuta queries SQL directamente desde Cypress sin exponer credenciales al browser.\n- **Sanitización de credenciales**: Oculta datos sensibles (passwords, tokens, API keys) en la UI automáticamente.\n- **Aislamiento de credenciales DB**: Las credenciales de base de datos viven exclusivamente en el proceso Node de Cypress via `cy.task()`. Nunca entran al browser.\n- **API moderna**: Usa las APIs `Cypress.expose()` y `cy.env()` de Cypress 15.10.0+\n- **Coloreo automático por `expect()`**: Cada `expect()` sobre `response.status`, `response.body`, `response.headers` o campos anidados colorea el `ResponsePanel`/`CodeBlock` en verde (match), rojo (mismatch) o amarillo (nullish). Funciona con `eq`, `deep.eq`, `have.property` y `not` — sin configuración adicional.\n- **Snapshot con coloreo**: El `Cypress.log` de `cy.http()`/`cy.query()` guarda un segundo snapshot `'assertions'` tras el microtask de `expect()`, por lo que al hacer hover sobre el log en el Command Log ves el panel ya coloreado, no solo el DOM vivo.\n- **Amarillo preciso — solo si el valor _real_ es `null`/`undefined`**: `expect(\"hildegard.org\").to.not.be.null` ahora es **verde** (no amarillo). Amarillo solo cuando `response.body.campo` es realmente `null`/`undefined` en la respuesta.\n\n## Stack\n\n- **Svelte 5.56.10** con runes (`$state`, `$derived.by`, `$effect`, `$props`) — 100% runes, `svelte.config.js: { runes: true }` y `vite.config.ts` alineado. Sin `onMount`, sin `$:` ni `svelte/store` legacy.\n- **Vite 8.2.2** + `@sveltejs/vite-plugin-svelte 7.3.0` y `vite-plugin-dts` para build de librería (`dist/index.js` + `dist/tasks.js`).\n- **TypeScript 6.0.3**, `svelte-check` (0 errores) y `eslint-plugin-svelte` para validación.\n\n## Requisitos\n\n- Node.js >= 22\n- Cypress >= 15.10.0\n\n## Instalación\n\n```bash\nnpm install cypress-backend-tool\n# o\nyarn add cypress-backend-tool\n```\n\n## Configuración\n\n### 1. Importar el plugin\n\n```typescript\n// cypress/support/e2e.ts\nimport 'cypress-backend-tool'; // Auto-init: registra cy.http() y cy.query()\n```\n\nSin `init()`, sin configuración adicional. El plugin se auto-inicializa al importarlo.\n\n### 2. Configurar cypress.config.ts — setupDatabaseTasks() (recomendado)\n\nLa forma más simple de configurar las tareas de base de datos es con `setupDatabaseTasks()`, que registra automáticamente `db:getConfig` y `db:query` con un Pool persistente:\n\n```typescript\n// cypress.config.ts\nimport { defineConfig } from 'cypress';\nimport dotenv from 'dotenv';\nimport { setupDatabaseTasks } from 'cypress-backend-tool/tasks';\n\ndotenv.config(); // carga .env automáticamente\n\nexport default defineConfig({\n  e2e: {\n    setupNodeEvents(on) {\n      setupDatabaseTasks(on);\n      // No necesitas return config a menos que modifiques config\n    },\n    expose: {\n      snapshotOnly: false,\n      hideCredentials: true,\n      hideCredentialsOptions: {\n        headers: true,\n        auth: true,\n        body: true,\n        query: true,\n      },\n      requestMode: 'auto',\n      CYPRESS_PLUGIN_DEBUG: false,\n    },\n  },\n});\n```\n\nLas credenciales se configuran via variables de entorno (ver [Variables de entorno](#variables-de-entorno)).\n\n> 💡 **Solo HTTP**: si solo usás `cy.http()`, no necesás `setupNodeEvents` — el plugin funciona sin configuración del lado Node.\n\n### 2b. Configuración manual (alternativa)\n\nSi prefieres manejar las tasks manualmente:\n\n```typescript\n// cypress.config.ts\nimport { defineConfig } from 'cypress';\n\nexport default defineConfig({\n  e2e: {\n    setupNodeEvents(on, config) {\n      on('task', {\n        'db:query': async ({ query, host, port, database, user, password }) => {\n          const { Pool } = require('pg');\n          const pool = new Pool({ host, port, database, user, password });\n          const result = await pool.query(query);\n          await pool.end();\n          return { rows: result.rows, rowCount: result.rowCount };\n        },\n        'db:getConfig': () => ({\n          host: process.env.CYPRESS_DB_HOST || 'localhost',\n          port: parseInt(process.env.CYPRESS_DB_PORT || '5432', 10),\n          database: process.env.CYPRESS_DB_NAME || 'test_db',\n          user: process.env.CYPRESS_DB_USER || 'postgres',\n          password: process.env.CYPRESS_DB_PASSWORD || '',\n        }),\n      });\n      return config;\n    },\n    expose: { ... },\n  },\n});\n```\n\n### 3. Variables de entorno\n\nLas credenciales de base de datos se resuelven en este orden (mayor prioridad primero):\n\n| Prioridad | Prefijo                     | Ejemplo                                                 |\n| --------- | --------------------------- | ------------------------------------------------------- |\n| 1 (máx)   | `CYPRESS_DB_`               | `CYPRESS_DB_HOST=localhost`                             |\n| 2         | `DB_`                       | `DB_HOST=localhost`                                     |\n| 3         | defaults (code)             | `host: 'localhost'`                                     |\n| —         | `CYPRESS_DB_SSL` / `DB_SSL` | `CYPRESS_DB_SSL=true` → `{ rejectUnauthorized: false }` |\n\n> La resolución de `SSL` sigue la misma prioridad: `CYPRESS_DB_SSL` → `DB_SSL` → `defaults.ssl`.\n\n```env\n# Prefijo recomendado (menos propenso a colisiones)\nCYPRESS_DB_HOST=localhost\nCYPRESS_DB_PORT=5432\nCYPRESS_DB_NAME=mi_base\nCYPRESS_DB_USER=postgres\nCYPRESS_DB_PASSWORD=secreto\nCYPRESS_DB_SSL=true           # true => {rejectUnauthorized:false} para Neon/Supabase, false para desactivar, o JSON: {\"rejectUnauthorized\":false,\"ca\":\"...\"}\n# Opcional timeouts vía defaults (no por env, ver abajo)\n\n# Fallback — solo si CYPRESS_DB_* no está definido\nDB_HOST=localhost\nDB_PORT=5432\n```\n\nCrea un `.env` en la raíz — `cypress.config.ts` y `src/node/tasks.ts` lo cargan automáticamente vía `dotenv` (no necesitas `fs` manual). Ejemplo `.env` para Neon:\n\n```env\nCYPRESS_DB_HOST=ep-xxx.neon.tech\nCYPRESS_DB_PORT=5432\nCYPRESS_DB_NAME=neondb\nCYPRESS_DB_USER=neondb_owner\nCYPRESS_DB_PASSWORD=npg_...\nCYPRESS_DB_SSL=true\n```\n\n> Para Postgres local sin SSL, omite `CYPRESS_DB_SSL` o establece `CYPRESS_DB_SSL=false`.\n\nTambién podés usar `cy.env()` desde `cypress.config.ts`:\n\n```typescript\nexport default defineConfig({\n  e2e: {\n    env: {\n      dbHost: 'localhost',\n      dbPort: '5432',\n      dbName: 'mi_base',\n      dbUser: 'postgres',\n      dbPassword: 'secreto',\n    },\n  },\n});\n```\n\n### setupDatabaseTasks() — Opciones\n\n```typescript\nimport { setupDatabaseTasks } from 'cypress-backend-tool/tasks';\n\nsetupDatabaseTasks(on, {\n  defaultPrefix: 'myapp_', // tareas → myapp_db:getConfig, myapp_db:query\n  envPrefix: 'MY_DB_', // lee MY_DB_HOST en vez de CYPRESS_DB_HOST\n  defaults: {\n    host: 'localhost',\n    port: 5432,\n    database: 'test_db',\n    user: 'postgres',\n    password: '',\n    ssl: { rejectUnauthorized: false }, // o true, o false, o {ca: '...'}\n    connectionTimeoutMillis: 5000,\n    idleTimeoutMillis: 10000,\n  },\n});\n```\n\n| Opción                             | Tipo                | Default         | Descripción                                                              |\n| ---------------------------------- | ------------------- | --------------- | ------------------------------------------------------------------------ |\n| `defaultPrefix`                    | `string`            | `''`            | Prefijo para los nombres de tarea registrados                            |\n| `envPrefix`                        | `string`            | `'CYPRESS_DB_'` | Prefijo de variables de entorno a leer                                   |\n| `defaults`                         | `object`            | —               | Valores fallback cuando no hay env vars                                  |\n| `defaults.host`                    | `string`            | `'localhost'`   | Host de la base de datos                                                 |\n| `defaults.port`                    | `number`            | `5432`          | Puerto de la base de datos                                               |\n| `defaults.database`                | `string`            | `'test_db'`     | Nombre de la base de datos                                               |\n| `defaults.user`                    | `string`            | `'postgres'`    | Usuario de la base de datos                                              |\n| `defaults.password`                | `string`            | `''`            | Contraseña de la base de datos                                           |\n| `defaults.ssl`                     | `boolean \\| object` | `undefined`     | `true`→{rejectUnauthorized:false}, `false`→sin SSL, objeto pasado a `pg` |\n| `defaults.connectionTimeoutMillis` | `number`            | `2000`          | Timeout de conexión del Pool/Client                                      |\n| `defaults.idleTimeoutMillis`       | `number`            | `2000`          | Timeout idle del Pool                                                    |\n\n> `CYPRESS_DB_SSL` / `DB_SSL` tienen prioridad sobre `defaults.ssl`. Valores por env: `\"true\"`/`\"1\"`/`\"yes\"` → `{ rejectUnauthorized: false }`, `\"false\"`/`\"0\"`/`\"no\"`/`\"disable\"` → `false`, JSON (`{\"rejectUnauthorized\":false,\"ca\":\"...\"}`) se parsea como objeto.\n\n#### SSL para Neon / Supabase / RDS\n\n- **Neon** (pooler) requiere `CYPRESS_DB_SSL=true` (o `ssl: { rejectUnauthorized: false }` en `defaults`) y, si usas `DATABASE_URL`, añade `?sslmode=require` a la URL.\n- **Supabase** similar: `CYPRESS_DB_SSL=true` o `ssl: { rejectUnauthorized: false }`.\n- **Postgres local sin SSL**: omite la variable o usa `CYPRESS_DB_SSL=false` / `defaults.ssl: false`.\n\nAmbas vías son equivalentes:\n\n```env\n# vía .env (recomendado para Neon)\nCYPRESS_DB_SSL=true\n# o JSON avanzado\nCYPRESS_DB_SSL={\"rejectUnauthorized\":false,\"ca\":\"...\"}\n```\n\n```typescript\n// vía defaults\nsetupDatabaseTasks(on, {\n  defaults: {\n    ssl: { rejectUnauthorized: false },\n    // o ssl: true  → { rejectUnauthorized: false }\n    // o ssl: false → sin SSL\n  },\n});\n```\n\n## Uso\n\n### cy.http() - Testing de APIs HTTP\n\n```typescript\n// Request básico\ncy.http({\n  url: 'https://api.example.com/users',\n  method: 'GET',\n}).then((response) => {\n  expect(response.status).to.eq(200);\n});\n\n// Con headers y body\ncy.http({\n  url: 'https://api.example.com/users',\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    Authorization: 'Bearer tu_token',\n  },\n  body: {\n    name: 'John Doe',\n    email: 'john@example.com',\n  },\n}).then((response) => {\n  expect(response.body).to.have.property('id');\n});\n\n// Coloreo automático — cada expect colorea el panel y el snapshot\ncy.http('https://jsonplaceholder.typicode.com/users/1').then((r) => {\n  expect(r.status).to.eq(200); // → status verde + snapshot con verde\n  expect(r.body.name).to.eq('Leanne Graham'); // → línea verde en CodeBlock\n  expect(r.body.email).to.not.eq('otro@test.com'); // → línea roja\n  expect(r.body.website).to.not.be.null; // → verde (no amarillo, porque el real es string)\n});\n\n// Amarillo real — solo si el dato de la API es null/undefined (verificado sin mock)\n// jsonplaceholder no tiene null en GET, pero POST con title:null sí devuelve null real:\ncy.http({\n  url: 'https://jsonplaceholder.typicode.com/posts',\n  method: 'POST',\n  body: { title: null, body: 'test', userId: 1 },\n}).then((r) => {\n  expect(r.body.title).to.eq(null); // → línea amarilla (real es null)\n});\n```\n\n### cy.query() - Consultas PostgreSQL\n\n```typescript\n// Sin argumentos - usa las credenciales del .env\ncy.query('SELECT * FROM users LIMIT 10').then((result) => {\n  expect(result.rows).to.have.length.greaterThan(0);\n  console.log(result.rows);\n});\n\n// Con argumentos explícitos\ncy.query('SELECT * FROM users WHERE id = $1', {\n  host: 'localhost',\n  port: 5432,\n  database: 'mydb',\n  user: 'postgres',\n  password: 'secret',\n}).then((result) => {\n  console.log(result.rows);\n});\n```\n\n## Configuración avanzada\n\n### Cypress.expose() — Opciones\n\n```typescript\n// cypress.config.ts\nexport default defineConfig({\n  e2e: {\n    expose: {\n      // Colapsa la UI tras ejecutar (útil para screenshots limpios)\n      snapshotOnly: false,\n      // Activa sanitización de credenciales en la UI\n      hideCredentials: false,\n      // Control granular por sección (booleans, no arrays)\n      hideCredentialsOptions: {\n        headers: true, // Oculta Authorization, X-API-Key, etc.\n        auth: true, // Oculta passwords en Auth tab\n        body: true, // Oculta password, token, secret en body\n        query: true, // Oculta params sensibles en query string\n      },\n      // Modo de visualización: 'auto' (muestra UI en cada request) o 'manual'\n      requestMode: 'auto',\n      // Logs de diagnóstico en consola\n      CYPRESS_PLUGIN_DEBUG: false,\n    },\n  },\n});\n```\n\n### Tabla de opciones\n\n| Opción                   | Tipo                                 | Default      | Descripción                         |\n| ------------------------ | ------------------------------------ | ------------ | ----------------------------------- |\n| `snapshotOnly`           | `boolean`                            | `false`      | Colapsa la UI tras cada comando     |\n| `hideCredentials`        | `boolean`                            | `false`      | Activa sanitización de credenciales |\n| `hideCredentialsOptions` | `{headers,auth,body,query: boolean}` | Todas `true` | Control granular por sección        |\n| `requestMode`            | `'auto' \\| 'manual'`                 | `'auto'`     | Muestra UI automáticamente o no     |\n| `CYPRESS_PLUGIN_DEBUG`   | `boolean`                            | `false`      | Logs de diagnóstico                 |\n\n### configure() — Override programático\n\nComo alternativa a `Cypress.expose()`, podés usar `configure()` desde cualquier lugar donde tengas acceso al bundle del browser (e.g., `setupNodeEvents`, hooks de test, o directamente en el spec):\n\n```typescript\nimport { configure } from 'cypress-backend-tool';\n\n// En setupNodeEvents o beforeEach:\nconfigure({ snapshotOnly: true });\n\n// Los valores de configure() tienen prioridad sobre Cypress.expose()\nconfigure({\n  hideCredentialsOptions: {\n    headers: false, // Solo deshabilitar headers, el resto se conserva\n  },\n});\n```\n\n**Orden de merge** (mayor prioridad gana):\n\n1. `Cypress.expose()` — valores base desde `cypress.config.ts`\n2. `configure()` — overrides programáticos\n\n`hideCredentialsOptions` hace un merge profundo: si solo pasás `{ headers: false }`, las opciones `auth`, `body`, y `query` se conservan de `Cypress.expose()`. No necesitás repetir todas las opciones.\n\n### Tabla de API pública\n\n| Export                          | Origen     | Descripción                                    |\n| ------------------------------- | ---------- | ---------------------------------------------- |\n| `import 'cypress-backend-tool'` | `index.js` | Auto-init: registra `cy.http()` y `cy.query()` |\n| `{ configure }`                 | `index.js` | Override programático de config del plugin     |\n| `{ setupDatabaseTasks }`        | `tasks.js` | Helper para tareas DB con Pool persistente     |\n\n## Persistencia de UI y Snapshots con Coloreo\n\nA diferencia de otros plugins que re-crean el DOM en cada llamada, `cypress-backend-tool` monta la UI **una sola vez por documento** y cada `cy.http()`/`cy.query()` agrega su propia entrada permanente con un ID único.\n\nEsto significa que:\n\n- Los snapshots de Cypress (`Cypress.log().snapshot()`) son estables entre `it()` blocks. Podés navegar al log de un comando anterior y ver exactamente su request/response, no el del último comando ejecutado.\n- No hay \"paneles en blanco\" al inspeccionar llamadas previas.\n- El DOM acumula todas las llamadas del test actual — cada una con su propia sección `<section id=\"cabt-entry-{id}\">`.\n\n### Snapshot incluye el coloreo de `expect()`\n\nEl log de `cy.http()` guarda un primer snapshot `'response'` tras el montaje y, tras el microtask donde se ejecutan todos los `expect()` del `then`, hace un segundo `log.snapshot('assertions')` en el **mismo** log con el DOM ya re-renderizado por `refreshEntry()` (re-monta `EntryPanel` en el mismo `div#cabt-entry-{id}`).\n\n- Al hacer hover sobre el comando en el Command Log ves el panel **ya coloreado** (verde/rojo/amarillo), no solo el DOM vivo.\n- Verificado con `window.__cbtLastSnapshotInfo` (`hasMatch`/`hasMismatch`/`hasNullish`) y con el E2E `snapshot-coloring-verification.cy.ts`.\n- Para depurar: `CYPRESS_PLUGIN_DEBUG=true` expone `window.__cbtDebug` con cada `assert` interceptado.\n\n## Aislamiento de credenciales DB\n\nLas credenciales de base de datos (`dbPassword`, `dbUser`, etc.) **nunca entran al browser**. El flujo es:\n\n1. `cy.query()` llama a `cy.task('db:query')` — el query se ejecuta EN NODE\n2. Solo los resultados (rows) vuelven al browser para mostrarse en la UI\n3. Las credenciales se configuran via `cy.task('db:getConfig')` o `.env`, nunca via `Cypress.expose()`\n\nEsto está verificado por tests de isolación que comprueban que `dbPassword` no existe en `window` ni en `Cypress.expose()`.\n\n### Runtime overrides\n\nPodés cambiar la config en plena ejecución con `Cypress.expose()`:\n\n```typescript\nbeforeEach(() => {\n  Cypress.expose({ snapshotOnly: true }); // Colapsar UI en todos los tests\n});\n\nit('test específico', () => {\n  Cypress.expose({ hideCredentials: false }); // Mostrar credenciales solo aquí\n  cy.http({ url: '...', method: 'GET' });\n});\n```\n\n## Desarrollo\n\n```bash\n# Instalar dependencias\nnpm install\n\n# Build del paquete (check + lint + unit + vite build)\nnpm run build\n\n# Todos los tests (unit + E2E)\nnpm test\n\n# Solo unit (vitest, 263 tests)\nnpm run unit\n\n# Watch\nnpm run watch\n\n# Coverage\nnpm run coverage\n\n# Linter (eslint + eslint-plugin-svelte)\nnpm run lint\n\n# Type check (tsc + svelte-check, 0 errores)\nnpm run check\n\n# Abrir Cypress runner\nnpm run ui\n```\n\n### Stack de desarrollo\n\n- **Svelte 5 runes only:** No uses `onMount`, `$:` ni `let` reactivo sin `$state`. Usa `$derived.by()` para derivaciones complejas (ver `QueryPanel.svelte`).\n- **Coloreo:** `expect-matcher.ts` marca `nullish` (amarillo) **solo si el valor real es `null`/`undefined`**. `not.be.null` sobre string es verde.\n- **Snapshot:** Si tocas `chai-interceptor.ts` o `entry-refresh.ts`, verifica `cypress/e2e/snapshot-coloring-verification.cy.ts` — el segundo snapshot debe seguir incluyendo el coloreo.\n- **Amarillo real sin mock:** Usa `POST /posts` con `{ title: null }` en jsonplaceholder (devuelve `title: null` real). `GET /users` no tiene nulls.\n\n## API de respuesta\n\n### ApiResponse\n\n```typescript\ninterface ApiResponse {\n  status: number;\n  statusText: string;\n  headers: Record<string, string>;\n  body: unknown;\n  duration: number;\n  size: number;\n  cookies: Array<{\n    name: string;\n    value: string;\n    domain?: string;\n    path?: string;\n    expires?: string;\n    httpOnly?: boolean;\n    secure?: boolean;\n  }>;\n}\n```\n\n### DbQueryResponse\n\n```typescript\ninterface DbQueryResponse {\n  rows: unknown[];\n  rowCount: number;\n  duration: number;\n  query: string;\n}\n```\n\n## Licencia\n\nMIT\n","readmeFilename":"README.md"}