{"_id":"@alosha/monitor","_rev":"9-c7f3a280ed1680325ba839d08beb04fc","name":"@alosha/monitor","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@alosha/monitor","version":"0.1.0","keywords":["monitor","playwright","uptime","website-monitoring","alerting","cli"],"author":{"name":"Eduardo Silvanavarrete","email":"avlis_odraude@hotmail.com"},"license":"MIT","_id":"@alosha/monitor@0.1.0","maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"homepage":"https://monitor.alosha.dev","bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"bin":{"monitor":"dist/cli.js"},"dist":{"shasum":"1ee5f69568a9b1d6d14c6a1dbaf71aba5a12aece","tarball":"https://registry.npmjs.org/@alosha/monitor/-/monitor-0.1.0.tgz","fileCount":10,"integrity":"sha512-0pKynqV0WBrsft2pUITLZn969RCMM4ocDAfOoHz3E09SGwgzprUGaH3WPxlpRx9Yiry6N3wtu20hnQ7FJQLlog==","signatures":[{"sig":"MEYCIQCguPB/B8jmZAK3nqZVD+d7glcmY4yPz/5RqFSceN4HsgIhAPTA9O54I34odTOn9ntV84A1bL3a9elrUMlzGIMcNRmL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77167},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"32ab6850899373c394684bf09cc2923bed91db71","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsup","prepare":"husky","release":"npm run lint && npm run build && npm publish --access public"},"_npmUser":{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"},"repository":{"url":"git+https://github.com/avlisodraude/monitor.git","type":"git"},"_npmVersion":"11.16.0","description":"Playwright-based website monitoring — checks, retries, screenshots, and alerts.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"nodemailer":"^6.9.14","playwright":"^1.44.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.1.0","husky":"^9.0.11","eslint":"^9.5.0","typescript":"^5.4.5","@types/node":"^20.14.0","lint-staged":"^15.2.7","@commitlint/cli":"^19.3.0","@types/nodemailer":"^6.4.15","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/monitor_0.1.0_1781434851982_0.9564572559154807","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@alosha/monitor","version":"0.2.0","keywords":["monitor","playwright","uptime","website-monitoring","alerting","cli"],"author":{"name":"Eduardo Silvanavarrete","email":"avlis_odraude@hotmail.com"},"license":"MIT","_id":"@alosha/monitor@0.2.0","maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"homepage":"https://monitor.alosha.dev","bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"bin":{"monitor":"dist/cli.js"},"dist":{"shasum":"5fca340e51a5184daf0204e0da4831ffd11edea6","tarball":"https://registry.npmjs.org/@alosha/monitor/-/monitor-0.2.0.tgz","fileCount":10,"integrity":"sha512-PkZjfX83En6g5rwGhJcbUTk36HW/VklC6AbgXiFy17HlE9P4GEr4KicL3uu5vXRLUaAsKh92ogWPszxK03JRMw==","signatures":[{"sig":"MEUCIFIUduDKjm7kdUtjR+WfcrAhjUZErCeRppqvSnKxj36eAiEAs5jNncvLQxbFURgW0RtTvq25djSqqXHxp4jYZOxPbKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101042},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8b45bdc5a8d118602271bb3c59eaf526585a36cd","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsup","prepare":"husky","release":"npm run lint && npm run build && npm publish --access public"},"_npmUser":{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"},"repository":{"url":"git+https://github.com/avlisodraude/monitor.git","type":"git"},"_npmVersion":"11.16.0","description":"Playwright-based website monitoring — checks, retries, screenshots, and alerts.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"nodemailer":"^6.9.14","playwright":"^1.44.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.1.0","husky":"^9.0.11","eslint":"^9.5.0","typescript":"^5.4.5","@types/node":"^20.14.0","lint-staged":"^15.2.7","@commitlint/cli":"^19.3.0","@types/nodemailer":"^6.4.15","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/monitor_0.2.0_1781435305028_0.631486584794456","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@alosha/monitor","version":"0.2.1","keywords":["monitor","playwright","uptime","website-monitoring","alerting","cli"],"author":{"name":"Eduardo Silvanavarrete","email":"avlis_odraude@hotmail.com"},"license":"MIT","_id":"@alosha/monitor@0.2.1","maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"homepage":"https://monitor.alosha.dev","bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"bin":{"monitor":"dist/cli.js"},"dist":{"shasum":"07d7273bd143fcfbcf6a0645e8d956eb951efdeb","tarball":"https://registry.npmjs.org/@alosha/monitor/-/monitor-0.2.1.tgz","fileCount":10,"integrity":"sha512-P1eS2pQCrrlrItyFH48mo0UtyFaj0jJE86NRwS7j8bLz7ps0p5QT7m4QBeULsfYbx4k3//GTMm9Rd4HW/Bc4WQ==","signatures":[{"sig":"MEQCIFMKrGrYTaBrikujQN5GM+ujJaUFmlDgFvCwqxb3C8FwAiAhbeaNIFjNMX3HK2L1GecNUX6S/+MxFp9/liNqzxQByw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101526},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"18b96243756f3ecd3387de32df98cdbfbe11adc9","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsup","prepare":"husky","release":"npm run lint && npm run build && npm publish --access public"},"_npmUser":{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"},"repository":{"url":"git+https://github.com/avlisodraude/monitor.git","type":"git"},"_npmVersion":"11.16.0","description":"Playwright-based website monitoring — checks, retries, screenshots, and alerts.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"nodemailer":"^6.9.14","playwright":"^1.44.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.1.0","husky":"^9.0.11","eslint":"^9.5.0","typescript":"^5.4.5","@types/node":"^20.14.0","lint-staged":"^15.2.7","@commitlint/cli":"^19.3.0","@types/nodemailer":"^6.4.15","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/monitor_0.2.1_1781435408278_0.2496915638705164","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@alosha/monitor","version":"0.3.0","keywords":["monitor","playwright","uptime","website-monitoring","alerting","cli"],"author":{"name":"Eduardo Silvanavarrete","email":"avlis_odraude@hotmail.com"},"license":"MIT","_id":"@alosha/monitor@0.3.0","maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"homepage":"https://monitor.alosha.dev","bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"bin":{"monitor":"dist/cli.js"},"dist":{"shasum":"0c37018261c3e448fe780a5243861f237bad594c","tarball":"https://registry.npmjs.org/@alosha/monitor/-/monitor-0.3.0.tgz","fileCount":10,"integrity":"sha512-S8IbHhnGyy8P4VnyNQ2FCfFHW+28bzKlq6USp9QHJ6cUvth/yUTf8HXvCppursp75bnjqeb0fMlB78vRtnxptg==","signatures":[{"sig":"MEQCIDlaLipW+nIj2253c2QJGfpfismed8d2nnmnKjK31p3tAiAzK371Ep4ReJm/RiXoKrudw5Zt9yvMw/zwXteWS2BXIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163980},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c4e9993c1d91b155da2421b73d2758d060c428ec","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsup","prepare":"husky","release":"npm run lint && npm run build && npm publish --access public"},"_npmUser":{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"},"repository":{"url":"git+https://github.com/avlisodraude/monitor.git","type":"git"},"_npmVersion":"11.16.0","description":"Playwright-based website monitoring — checks, retries, screenshots, and alerts.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"nodemailer":"^6.9.14","playwright":"^1.44.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.1.0","husky":"^9.0.11","eslint":"^9.5.0","typescript":"^5.4.5","@types/node":"^20.14.0","lint-staged":"^15.2.7","@commitlint/cli":"^19.3.0","@types/nodemailer":"^6.4.15","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/monitor_0.3.0_1781439161400_0.6019325874344881","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@alosha/monitor","version":"0.3.1","keywords":["monitoring","uptime","website-monitoring","health-check","playwright","alerting","slack","discord","email","cli","devops","github-actions","zero-config"],"author":{"name":"Eduardo Silvanavarrete","email":"avlis_odraude@hotmail.com"},"license":"MIT","_id":"@alosha/monitor@0.3.1","maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"homepage":"https://monitor.alosha.dev","bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"bin":{"monitor":"dist/cli.js"},"dist":{"shasum":"e5f3974e474051f74ee6c061b1303e6a75ed8db2","tarball":"https://registry.npmjs.org/@alosha/monitor/-/monitor-0.3.1.tgz","fileCount":10,"integrity":"sha512-+r90n7SOebXD+mbO4DF26Ohs92xdoKZtV29KdEy7BX+13O/87QBK4ycQ49TKYCJ2TJF0OTYTnjWrUBnvqsbGQA==","signatures":[{"sig":"MEQCIChnhVJ6kJ+4HRx/i/Rdgz4zvIkSYFw7s9Uw9PfDhUz8AiBuNh2EZ9iXy8J4XZyJJbJsaCbYkwAQH2JEpYcMhryh5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164143},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c4e9993c1d91b155da2421b73d2758d060c428ec","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsup","prepare":"husky","release":"npm run lint && npm run build && npm publish --access public"},"_npmUser":{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"},"repository":{"url":"git+https://github.com/avlisodraude/monitor.git","type":"git"},"_npmVersion":"11.16.0","description":"Playwright-based website monitoring — zero-config uptime checks, retries, screenshots on failure, and multi-channel alerts.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"nodemailer":"^6.9.14","playwright":"^1.44.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.1.0","husky":"^9.0.11","eslint":"^9.5.0","typescript":"^5.4.5","@types/node":"^20.14.0","lint-staged":"^15.2.7","@commitlint/cli":"^19.3.0","@types/nodemailer":"^6.4.15","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/monitor_0.3.1_1781442563335_0.11649282741540912","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@alosha/monitor","version":"0.3.2","keywords":["monitoring","uptime","website-monitoring","health-check","playwright","alerting","slack","discord","email","cli","devops","github-actions","zero-config"],"author":{"name":"Eduardo Silvanavarrete","email":"avlis_odraude@hotmail.com"},"license":"MIT","_id":"@alosha/monitor@0.3.2","maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"homepage":"https://monitor.alosha.dev","bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"bin":{"monitor":"dist/cli.js"},"dist":{"shasum":"1196888ce7874e0cfcabdc11797e5ea9f647551d","tarball":"https://registry.npmjs.org/@alosha/monitor/-/monitor-0.3.2.tgz","fileCount":10,"integrity":"sha512-kE4r73OjLHJC7Rkyllx1kj+Hl8b0DJtv1OTRmUxKqci9WkoBKQqLTlsbW16EbqpQLzAZENdHzACQxwpjzLk2sA==","signatures":[{"sig":"MEUCICl2o3TMCnclaSNd1tGfYrHTx1vVRbnaG6o6Ry9awsVzAiEAiQayyAOlWNGx559wVo2cQCMfwLnwlmWMQARPKk/L294=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164600},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1c683e8e225ced484536b945f4a3377e78d9a531","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsup","prepare":"husky","release":"npm run lint && npm run build && npm publish --access public"},"_npmUser":{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"},"repository":{"url":"git+https://github.com/avlisodraude/monitor.git","type":"git"},"_npmVersion":"11.16.0","description":"Playwright-based website monitoring — zero-config uptime checks, retries, screenshots on failure, and multi-channel alerts.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"nodemailer":"^6.9.14","playwright":"^1.44.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.1.0","husky":"^9.0.11","eslint":"^9.5.0","typescript":"^5.4.5","@types/node":"^20.14.0","lint-staged":"^15.2.7","@commitlint/cli":"^19.3.0","@types/nodemailer":"^6.4.15","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/monitor_0.3.2_1781444041260_0.3863981958460747","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@alosha/monitor","version":"0.3.3","keywords":["monitoring","uptime","website-monitoring","health-check","playwright","alerting","slack","discord","email","cli","devops","github-actions","zero-config"],"author":{"name":"Eduardo Silvanavarrete","email":"avlis_odraude@hotmail.com"},"license":"MIT","_id":"@alosha/monitor@0.3.3","maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"homepage":"https://monitor.alosha.dev","bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"bin":{"monitor":"dist/cli.js"},"dist":{"shasum":"8307bbf6718507cab1b9e3a4a16bc784ff9ba6fa","tarball":"https://registry.npmjs.org/@alosha/monitor/-/monitor-0.3.3.tgz","fileCount":10,"integrity":"sha512-io3exTBtlIoa6YqgNaJA+mtUww1KCYoBtrSLc6qxG1/S+9k+fykJceS/xErq1gj8jvMTlMtGNJ8tApH30p68uQ==","signatures":[{"sig":"MEQCIDvVYgigU6gTePUg6epYkS03pEydnoi3ZOUDraMSUAvDAiACEc4uB6ti25O8VoA4uRnuAGOwhL1QpquhrxsLj/rdFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164655},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bd80137f9eba97ef04b3c83c0b988a61b26550bc","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsup","prepare":"husky","release":"npm run build && npm publish --access public"},"_npmUser":{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"},"overrides":{"esbuild":"^0.28.1","js-yaml":"^4.2.0"},"repository":{"url":"git+https://github.com/avlisodraude/monitor.git","type":"git"},"_npmVersion":"11.16.0","description":"Playwright-based website monitoring — zero-config uptime checks, retries, screenshots on failure, and multi-channel alerts.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"nodemailer":"^9.0.0","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.1.0","husky":"^9.0.11","eslint":"^9.5.0","typescript":"^5.4.5","@types/node":"^20.14.0","lint-staged":"^15.2.7","@commitlint/cli":"^19.3.0","@types/nodemailer":"^6.4.15","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/monitor_0.3.3_1781611538079_0.039138804350905554","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@alosha/monitor","version":"0.3.4","keywords":["monitoring","uptime","website-monitoring","health-check","playwright","alerting","slack","discord","email","cli","devops","github-actions","zero-config"],"author":{"name":"Eduardo Silva Navarrete","email":"avlis_odraude@hotmail.com"},"license":"MIT","_id":"@alosha/monitor@0.3.4","maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"homepage":"https://monitor.alosha.dev","bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"bin":{"monitor":"dist/cli.js"},"dist":{"shasum":"1f032411c542109462598a3a3619d8262c437347","tarball":"https://registry.npmjs.org/@alosha/monitor/-/monitor-0.3.4.tgz","fileCount":11,"integrity":"sha512-NY/VWSpL7Ea2U1ZWpk/6PmGXDd3JvYlgXaZof1ZIYPlEcp+qUabnvtBTl4079W2GaMDmOMs1o/pt5dCaBMu7MQ==","signatures":[{"sig":"MEYCIQCWN6DjrreC1Ze3TL4PxDtVdKxyb6Aj0NxPjFqHhDmCEwIhAM6eJOl5At9owH70h/K4U2MDgnUmsL7JEm7d1FpoCVn2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168346},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3bd6cb102cb390c1c40476529f259a6f54d476c8","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"tsup","prepare":"husky","release":"npm run build && npm publish --access public"},"_npmUser":{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"},"overrides":{"esbuild":"^0.28.1","js-yaml":"^4.2.0"},"repository":{"url":"git+https://github.com/avlisodraude/monitor.git","type":"git"},"_npmVersion":"11.16.0","description":"Playwright-based website monitoring — zero-config uptime checks, retries, screenshots on failure, and multi-channel alerts.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"nodemailer":"^9.0.0","playwright":"^1.61.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.1.0","husky":"^9.0.11","eslint":"^9.5.0","@eslint/js":"^9.5.0","typescript":"^5.4.5","@types/node":"^20.14.0","lint-staged":"^15.2.7","@commitlint/cli":"^19.3.0","@types/nodemailer":"^6.4.15","typescript-eslint":"^8.61.1","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/monitor_0.3.4_1783583013425_0.5303432579191207","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@alosha/monitor","version":"0.4.0","description":"Playwright-based website monitoring — zero-config uptime checks, retries, screenshots on failure, and multi-channel alerts.","keywords":["monitoring","uptime","website-monitoring","health-check","playwright","alerting","slack","discord","email","cli","devops","github-actions","zero-config"],"homepage":"https://monitor.alosha.dev","bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"repository":{"type":"git","url":"git+https://github.com/avlisodraude/monitor.git"},"license":"MIT","author":{"name":"Eduardo Silva Navarrete","email":"avlis_odraude@hotmail.com"},"type":"module","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","bin":{"monitor":"dist/cli.js"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"node --experimental-vm-modules node_modules/.bin/jest","lint":"eslint src","prepare":"husky","release":"npm run build && npm publish --access public"},"dependencies":{"nodemailer":"^9.0.0","playwright":"^1.61.0"},"devDependencies":{"@commitlint/cli":"^19.3.0","@commitlint/config-conventional":"^19.2.2","@eslint/js":"^9.5.0","@types/jest":"^30.0.0","@types/node":"^20.14.0","@types/nodemailer":"^6.4.15","eslint":"^9.5.0","husky":"^9.0.11","jest":"^29.7.0","lint-staged":"^15.2.7","ts-jest":"^29.4.11","tsup":"^8.1.0","typescript":"^5.4.5","typescript-eslint":"^8.61.1"},"overrides":{"esbuild":"^0.28.1","js-yaml":"^4.2.0"},"gitHead":"fc5b775610dbbe3e7ce89956f735ba205328f290","_id":"@alosha/monitor@0.4.0","_nodeVersion":"22.22.3","_npmVersion":"11.16.0","dist":{"integrity":"sha512-ltV4JYXQMmUDcYYUK+n7vaNxwg3QkudxS7Q4+EJ87KznFUHNgvnqtCj5Mv61doxzbHiwSXsXGvAioLQs9IE0KA==","shasum":"5cd044642098e598e2d08df6167c3d5e018bc0f6","tarball":"https://registry.npmjs.org/@alosha/monitor/-/monitor-0.4.0.tgz","fileCount":11,"unpackedSize":205920,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG28ZBnPKPnlu43nEr2MBmJMxCx8lLLNzn1G1DOOmHx3AiB63FK+qhgqMuXF4ERqbfy9+AEasajQnxYnwVXHrUZ4hA=="}]},"_npmUser":{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"},"directories":{},"maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/monitor_0.4.0_1783617227137_0.01937540210585409"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-14T11:00:51.684Z","modified":"2026-07-09T17:13:47.441Z","0.1.0":"2026-06-14T11:00:52.124Z","0.2.0":"2026-06-14T11:08:25.169Z","0.2.1":"2026-06-14T11:10:08.421Z","0.3.0":"2026-06-14T12:12:41.535Z","0.3.1":"2026-06-14T13:09:23.501Z","0.3.2":"2026-06-14T13:34:01.420Z","0.3.3":"2026-06-16T12:05:38.213Z","0.3.4":"2026-07-09T07:43:33.557Z","0.4.0":"2026-07-09T17:13:47.283Z"},"bugs":{"url":"https://github.com/avlisodraude/monitor/issues"},"author":{"name":"Eduardo Silva Navarrete","email":"avlis_odraude@hotmail.com"},"license":"MIT","homepage":"https://monitor.alosha.dev","keywords":["monitoring","uptime","website-monitoring","health-check","playwright","alerting","slack","discord","email","cli","devops","github-actions","zero-config"],"repository":{"type":"git","url":"git+https://github.com/avlisodraude/monitor.git"},"description":"Playwright-based website monitoring — zero-config uptime checks, retries, screenshots on failure, and multi-channel alerts.","maintainers":[{"name":"avlisodraude","email":"avlis_odraude@hotmail.com"}],"readme":"# @alosha/monitor\n\nPlaywright-based website monitoring for developers. Define checks, run multi-step journeys, assert on content, get notified on failures, and generate HTML reports — all from your terminal or CI pipeline.\n\n[![npm version](https://img.shields.io/npm/v/@alosha/monitor)](https://www.npmjs.com/package/@alosha/monitor)\n[![npm downloads](https://img.shields.io/npm/dm/@alosha/monitor)](https://www.npmjs.com/package/@alosha/monitor)\n[![Types included](https://img.shields.io/badge/types-included-blue?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n- **Real user journeys, not just pings** — click, fill, hover, and wait through multi-step flows like login or checkout.\n- **Assert on what matters** — page title, URL, element visibility, text content, and response time.\n- **Get told the moment something breaks** — alerts to Slack, Discord, email, or any webhook.\n- **Evidence on every failure** — automatic screenshots and a self-contained HTML report, runnable locally or in CI/GitHub Actions.\n\n## Install\n\n```bash\nnpm install -D @alosha/monitor\nnpx playwright install chromium\n```\n\n## Quick start\n\nCreate a `monitor.config.ts` (or `.js`) in your project root:\n\n```ts\nimport type { MonitorConfig } from '@alosha/monitor'\n\nexport default {\n  checks: [\n    // Simple URL check\n    { name: 'Homepage', url: 'https://yoursite.com', interval: '5m' },\n\n    // Multi-step journey with assertions\n    {\n      name: 'Login flow',\n      url: 'https://yoursite.com/login',\n      interval: '10m',\n      steps: [\n        { action: 'fill', selector: '#email', value: 'test@example.com' },\n        { action: 'fill', selector: '#password', value: process.env.TEST_PASS! },\n        { action: 'click', selector: 'button[type=submit]' },\n        { action: 'waitForURL', value: '/dashboard' },\n      ],\n      assertions: [\n        { type: 'title', contains: 'Dashboard' },\n        { type: 'visible', selector: '.welcome-message' },\n        { type: 'responseTime', maxMs: 3000 },\n      ],\n    },\n  ],\n  notify: {\n    slack: { webhookUrl: process.env.SLACK_WEBHOOK_URL! },\n  },\n} satisfies MonitorConfig\n```\n\nThen run once:\n\n```bash\nnpx monitor run\n```\n\nOr keep it running on a schedule:\n\n```bash\nnpx monitor watch\n```\n\n## Production recipes\n\nReal problems, complete solutions — copy, paste, ship.\n\n### Fail your CI build when a critical user journey breaks\n\n**The problem:** a deploy can pass unit tests but still break login or checkout in a real browser — and you find out from a customer.\n\n```ts\nimport { run } from '@alosha/monitor'\n\nconst report = await run({\n  checks: [{\n    name: 'Login flow',\n    url: 'https://app.example.com/login',\n    steps: [\n      { action: 'fill',  selector: '#email',    value: process.env.TEST_EMAIL! },\n      { action: 'fill',  selector: '#password', value: process.env.TEST_PASS! },\n      { action: 'click', selector: 'button[type=submit]' },\n      { action: 'waitForURL', value: '**/dashboard' }\n    ],\n    assertions: [{ type: 'visible', selector: '[data-test=user-menu]' }]\n  }]\n})\n\n// Break the build if any check failed.\nif (report.failed > 0) process.exit(1)\n```\n\n**Why it works:** `run()` drives a real Chromium session through the journey and returns a structured `RunReport`, so a single exit-code check turns \"does login still work?\" into a CI gate that blocks the deploy before users ever see the break.\n\n### Get a Slack alert with a screenshot the moment a page goes down\n\n**The problem:** uptime pings tell you a URL returns 200, not that the page actually rendered — and they rarely show you what the user saw.\n\n```ts\nimport { watch } from '@alosha/monitor'\n\n// Runs continuously, firing each check on its own interval.\nawait watch({\n  checks: [\n    { name: 'Homepage', url: 'https://example.com', interval: '1m', maxResponseTimeMs: 2000 },\n    { name: 'Checkout', url: 'https://example.com/checkout', interval: '5m' }\n  ],\n  notify: { slack: { webhookUrl: process.env.SLACK_WEBHOOK_URL! } }\n})\n```\n\n**Why it works:** `watch()` schedules each check independently and, on failure, captures a full-page screenshot before posting to Slack — so your first signal of an outage is an alert with visual proof, not a support ticket.\n\n### Alert semantics in watch mode\n\n`watch()` notifies only on **status transitions**, not on every failing run: you get one alert when a check goes from ok to failing, and one recovery alert when it goes back to ok. A site that's down for an hour at `interval: '1m'` sends exactly one alert, not sixty.\n\nFor outages you want to be reminded about while they're ongoing, set `reAlertInterval` on the check (e.g. `'30m'`) to re-send the down alert on that cadence until it recovers. It defaults to off — sustained failures stay silent between the initial alert and the recovery alert.\n\n```ts\n{ name: 'Checkout', url: 'https://example.com/checkout', interval: '1m', reAlertInterval: '30m' }\n```\n\nThis state is per-process: restarting `watch()` forgets prior status, so the first result for each check after a restart is treated as a transition if it's a failure (you'll get a fresh down alert, not silence).\n\n## Configuration\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `checks` | `CheckConfig[]` | required | List of checks to run |\n| `notify` | `NotifyConfig` | — | Alert destinations |\n| `screenshotsDir` | `string` | `./monitor-screenshots` | Where to save failure screenshots |\n| `reportsDir` | `string` | `.` | Where to save `monitor-report.html` |\n| `concurrency` | `number` | `4` | Max checks running at once against the shared browser |\n\n### CheckConfig\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `name` | `string` | required | Human-readable label |\n| `url` | `string` | required | Full URL to navigate to |\n| `interval` | `string` | `\"5m\"` | Watch mode interval. Supports `\"30s\"`, `\"5m\"`, `\"1h\"`, `\"2h30m\"` |\n| `reAlertInterval` | `string` | off | Watch mode: re-send the down alert on this cadence while a check stays failing |\n| `retries` | `number` | `2` | Retry attempts before marking failed |\n| `timeout` | `number` | `10000` | Timeout per action in ms |\n| `screenshotOnFailure` | `boolean` | `true` | Save a screenshot on failure |\n| `steps` | `StepAction[]` | — | Multi-step journey actions |\n| `assertions` | `Assertion[]` | — | Assertions to verify after steps |\n| `maxResponseTimeMs` | `number` | — | Shorthand for `{ type: 'responseTime', maxMs }` assertion |\n\n### Steps\n\n```ts\nsteps: [\n  { action: 'click',            selector: 'button' },\n  { action: 'fill',             selector: '#email', value: 'user@example.com' },\n  { action: 'select',           selector: 'select#plan', value: 'pro' },\n  { action: 'hover',            selector: '.dropdown' },\n  { action: 'waitForSelector',  selector: '.modal' },\n  { action: 'waitForURL',       value: '/dashboard' },\n  { action: 'waitForLoadState', value: 'networkidle' },\n  { action: 'screenshot',       name: 'after-login' },\n]\n```\n\n### Assertions\n\n```ts\nassertions: [\n  { type: 'title',        contains: 'Dashboard' },\n  { type: 'url',          contains: '/dashboard' },\n  { type: 'visible',      selector: '.welcome-message' },\n  { type: 'text',         selector: 'h1', contains: 'Welcome' },\n  { type: 'responseTime', maxMs: 3000 },\n]\n```\n\n### Notifications\n\n```ts\nnotify: {\n  email:   { to, from, smtpHost, smtpPort?, smtpUser, smtpPass },\n  slack:   { webhookUrl },\n  discord: { webhookUrl },\n  webhook: { url, headers? },\n}\n```\n\n## GitHub Actions\n\nDrop this in `.github/workflows/monitor.yml` to run your checks every 15 minutes in CI:\n\n```yaml\nname: Monitor\n\non:\n  schedule:\n    - cron: '*/15 * * * *'\n  workflow_dispatch:\n\njobs:\n  monitor:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-node@v4\n        with:\n          node-version: 20\n      - run: npm install\n      - run: npx playwright install chromium --with-deps\n      - run: npx monitor run\n        env:\n          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}\n      - uses: actions/upload-artifact@v4\n        if: always()\n        with:\n          name: monitor-report\n          path: |\n            monitor-report.html\n            monitor-screenshots/\n```\n\n## Programmatic usage\n\n```ts\nimport { run, watch } from '@alosha/monitor'\n\n// One-shot run\nconst report = await run({ checks: [{ name: 'Homepage', url: 'https://example.com' }] })\nconsole.log(report.passed, report.failed)\n\n// Continuous watch\nawait watch({ checks: [{ name: 'Homepage', url: 'https://example.com', interval: '5m' }] })\n```\n\n## Support & custom work\n\n`@alosha/monitor` is free and MIT-licensed, and always will be. When you need more than the open-source CLI, there's a paid path backed by the maintainer — not a ticket queue:\n\n- **Priority support** — a direct line to the person who wrote it, with prioritised fixes.\n- **Custom work** — bespoke checks, assertions or notifier integrations, and help wiring Monitor into your CI/CD.\n\nGet in touch at [alosha.dev/support](https://alosha.dev/support).\n\n---\n\nDocs & live demo: [monitor.alosha.dev](https://monitor.alosha.dev) · Built by [Alosha](https://alosha.dev)\n","readmeFilename":"README.md"}