{"_id":"@getmicdrop/venue-calendar","_rev":"376-ef98e3ae53afbc7aa63ea5a2588239ed","name":"@getmicdrop/venue-calendar","dist-tags":{"latest":"4.3.27"},"versions":{"1.0.0":{"name":"@getmicdrop/venue-calendar","version":"1.0.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.0.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2bf23a11a9ca82d7b76ccb0e8ba8e8a47427f296","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.0.0.tgz","fileCount":9,"integrity":"sha512-sv54FzpNBNT97+Z3Q98PhgQVc8QV0D6tDDaoOFTmvKKnjKRsuTHcvXK4KTUyFyvWAiNbsnXGL9Hz8+RyIdxd+w==","signatures":[{"sig":"MEYCIQCh+5ZvQcIjkGrwu6b7Ke25mp9EwFKh4OuS7uEF6HWDJgIhANkDTI5LBx70xWcIUxXujO5KZggnn9jgmCBtSY9e9EHU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1800902},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"34dc3d70f8771762fd2d1efaac4dfeebb0610a54","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"date-fns":"^4.1.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.0.0_1761864337271_0.735033385810751","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@getmicdrop/venue-calendar","version":"1.0.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.0.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c5c634e70536befc8cd9e25d7c920f869c97a3dd","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.0.1.tgz","fileCount":9,"integrity":"sha512-ayeK23ssopAmLbXPCZHSkhD75mSpfx824vwYnK21EyXmIsD18irWy46YwUQmLz77KKSYPplRqopXzllOkv3mtA==","signatures":[{"sig":"MEYCIQDMh/BY8ymZFDgMRY6lngqOhMVjDRgo2s/In2l5LDn3CQIhAJ2oVVs3az0WZGD/6KIPayiiaDDYKc6DkumQyBwErID5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1801570},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5cc8e55d1892d97840b6f41324e42a35f0542d61","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"date-fns":"^4.1.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.0.1_1761865787628_0.4296639241231417","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@getmicdrop/venue-calendar","version":"1.0.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.0.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"194bb8fd0e1c561484c86a463f19e756c5614541","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.0.2.tgz","fileCount":9,"integrity":"sha512-O/hfRG74DG7rlNEjl+RuyGapjlurD96eKnRGCxf9vNygB1qIDygHHi7JehXIj+koHWILXxzt8+bcp3jGwQ/FQg==","signatures":[{"sig":"MEYCIQDw99tJsdEeAFQxsrVNFOiqOWPycXNTMTAeG59JNs7CPQIhAPOcgQgYWcZeuV+dqY+oSkbaZqUfcSuxY+FzskJZKq/K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1801570},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5cc8e55d1892d97840b6f41324e42a35f0542d61","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"date-fns":"^4.1.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.0.2_1761866559201_0.49492919752062714","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@getmicdrop/venue-calendar","version":"1.0.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.0.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1645d716f63060323f06651ad99efccd729a33ea","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.0.3.tgz","fileCount":9,"integrity":"sha512-v2Qyn+uEy4ggwXXlKUtuHbVrPkOmVSfFjLqRXXjZmvPqtsw2P4EwgEyK2kwwAuaC59sBJgLl38j0pHWn2cd8nQ==","signatures":[{"sig":"MEYCIQCQUeoyM2QqJCJqk9P32Y2RCh1z/XJueKD3WWWCvK61+wIhALSb4WXg8eLyvbky8rejYDVSdh+ZgkAaiwaGDXbYj8jL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1801569},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"af84fb6ff83407da980ef460db9984d3e86fc4b9","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.0.3_1761868256052_0.8861604182780409","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@getmicdrop/venue-calendar","version":"1.0.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.0.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"843b98dc365fb36418053af9b0a080d5855c4a70","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.0.4.tgz","fileCount":9,"integrity":"sha512-tP7QXmomwjMCOVMNZKIYTw93KVRWedNIrJ7Ajue5Ai7BAf8iEDx7YlcTpcM59y99kl7GwK1uozYuZTFSiTu/+A==","signatures":[{"sig":"MEQCIDdcGYFTLoKqXNA08AjYrhmsW2X1KHgX05950fL8SX3BAiAESIJ+bWS1O9zMFC3jWAkl1xUSwBWuKjzqlCGM1fa9lA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1804169},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"93e7aa8ee5f632928ee16aa1248d465b18a8f4be","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.0.4_1762186337707_0.7943185733407412","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@getmicdrop/venue-calendar","version":"1.0.5","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.0.5","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"0abe9cc0aef84e52d64898de61b5415e164399d5","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.0.5.tgz","fileCount":9,"integrity":"sha512-GPhLzG5QdD5CAm6FTA7NMqzQ2hCPhxe+VxKgdJEdRSdhzkj+tMk7qB2ND3Wq0b8gf4heg+cM1bZKuOWg0dxIWw==","signatures":[{"sig":"MEQCIEXNQDAib5vZ5bxv3P8O7KvT8d9C6VdXGt4QP9ylqA2aAiBgdaSEZ78WdiTHtBOQNrForg3CeIw3LcT85M1j71LbUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1805536},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5b0c021bcaf657e9e608fd652114632576da275a","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.0.5_1762204511738_0.8167558536859534","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@getmicdrop/venue-calendar","version":"1.0.6","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.0.6","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"3de187bbc752f96a4ebfa1690a385d912553a629","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.0.6.tgz","fileCount":9,"integrity":"sha512-dEblgd1wVtWsX9YeOPF7vBUIgBfzcB38LJqMusTx2Zb3Nya9Y0J5PFgvwuojEMp8Gr+MRKBi/1me905P6FZkow==","signatures":[{"sig":"MEQCIB7wuxNuHo+HF3fwosYqzCWBeyuAYOkHw1xoA31gKh7dAiA+TAGkpgvY491Zg8yPEgNgsIzxSeCkn6l52bxLL2XzvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1896085},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a534227fd47d276eb17672beed8d483199ef245d","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.0.6_1762293952084_0.6267667060069002","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@getmicdrop/venue-calendar","version":"1.1.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.1.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"80942b4866cf9858106f7cd5b403923148e30717","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.1.0.tgz","fileCount":9,"integrity":"sha512-3l1/r2laslSdq7mKrk4NJk4fbE7J4mJsMYlt49ZWb2PHp4STH6IU3zkGdTGcvhfZG1WhXhcup/39AQl4tIU7Hw==","signatures":[{"sig":"MEUCIHnu2u82D5/cbpGX6m0pOWEeSCSG7Kj7XQYdF2JOeBUSAiEAwehDZgEW5+n/cJ2Un9mD3s7PT5sVUyuTfNnudSlivbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1959376},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d9af1d31d8b32a31154111cbac4aeb46ff7ecf66","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.1.0_1762450818773_0.15900969813586974","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@getmicdrop/venue-calendar","version":"1.1.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.1.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6db35a16784337619a1d2f0ea60da2a332960514","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.1.1.tgz","fileCount":9,"integrity":"sha512-J9QOEP3D3e7HQGBB4oUnALj1rSYgr2Q58l6cjuReiR30V/cjJzG4jZJhhDtDpsBZpXxGlyuCoClrjrJ65UGASw==","signatures":[{"sig":"MEUCIGKaink647lA6VbKin56E0BB5OHfaq08jP8eq/QEpS3eAiEA/FVpqG2003dmwSbww3sKCxw0bnVGxKZKFyPhmCrsLuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2001555},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"ca71fb71c211c9d2d74108151fc8e40224a88d49","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.1.1_1762562861872_0.7707365257086696","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@getmicdrop/venue-calendar","version":"1.1.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.1.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e4bd886214a7450b591b722e71a07c381ced4008","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.1.2.tgz","fileCount":9,"integrity":"sha512-huxdQNrtYzxf1whzELZw8Wgk9lFXdu1Ky7cLE49U8fXnIW+QgLX+BwEY8j+NtOCI0RFW7lDRHLCi0DitiHT8oA==","signatures":[{"sig":"MEUCIDFSBvj3JThi+w4UuarYEfoUvdZc6tv/rCdz3Bxpi4yQAiEAnQ2eQaIsXTicsVnmmvILZIBlZ2OG1hekfluB3TJ4zsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2004696},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5ab59d07582ec0678e5943b4e9020b0a82ae9c89","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.1.2_1762977207304_0.7412543568771106","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@getmicdrop/venue-calendar","version":"1.2.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.2.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"cfd6663bce51e8240e62cd9fdfd6d52beeae3a42","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.2.0.tgz","fileCount":9,"integrity":"sha512-zMmtntnbu2aR0v7IpCbnJrO//00z+wPmCVOF7IhjWsdDOtpg5ZgpRmCf/P+Y0+Rj1eZIQ5xa/65YB4RpoxcIMw==","signatures":[{"sig":"MEQCIEgxKs2gSOXoV33rS2lQdS0Gbs2XiQ/MQfOwjhIhyB+PAiA+9Ed9nsK9IzjbqReoGe4gXgCHAc2R2VYGqGQqMdvuLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2343038},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"cfe178d73660076f1be7eebd369eba4d0f29d94b","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.2.0_1763249198738_0.6244713235157395","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@getmicdrop/venue-calendar","version":"1.3.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.3.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8656fe990f0d22553ee035afe4a9ef219783d3a8","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.3.0.tgz","fileCount":9,"integrity":"sha512-qSCBoMS/g6WzPpDrltISpiYxpISLa0v0Dt1q98ypdPTIKgyJHM5xpG80LjV7XPau1wO1TljDwfd8HY7AL55uoQ==","signatures":[{"sig":"MEYCIQDIc3BPcG5kiHO0HaTq0sb9qyR58d4+NIXoJVbdZ7eA2wIhAK/EeDSrxNGtccPHUQotgHie2AZekf5TFxlfVMakBFZn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2344399},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f45983ec22f06fd6d90743254b06374462de8c9c","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.3.0_1763395268680_0.9480881916653283","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@getmicdrop/venue-calendar","version":"1.3.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.3.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d13f71941f0230ed0f2fde040a9dd927e6ade653","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.3.1.tgz","fileCount":9,"integrity":"sha512-85C/kWAAqQay3CP9JdaDcslEoYBd30pYzIVNzMplCQpbqTLNACFGSn0xj5emqyqsDzMmlBFhvLI+PjGjEa8VOA==","signatures":[{"sig":"MEUCIEqhNR/21enndxC25DLCVi6djl+obtYLZhs6oWFM/R2qAiEAwcv38aytt9DHiTfW2J4kLLLLCMUSop7HRZ8GPnpZg1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3038501},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"ed9734e73822f538692c06fe2e04471d6914378b","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.3.1_1763486452039_0.807619414538377","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@getmicdrop/venue-calendar","version":"1.3.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.3.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"4acd7cb7440b6b9456a04b24acb90f13c46d8baf","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.3.2.tgz","fileCount":9,"integrity":"sha512-e0ahju7f/ydwp3AgcHPRT6HY3zzc53lYfcqi2G+9+BNuFjlmW1LHEYuhkrVCzC5RtgBoVN6Owrtx4TjdQG+I7g==","signatures":[{"sig":"MEYCIQDCP+IUl9NaqyRfI84UPZr8Iu9BsYEMhxB3zawT9VsHHgIhAL1NtX9SXE7Fhb/eLlCpcHA2ksKi/AMs8KDMmS47qc7c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3087577},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"651eb7eefbc014170deb8c4066ceda1614420b46","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.3.2_1763521965288_0.8576008237794932","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@getmicdrop/venue-calendar","version":"1.4.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.4.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d24d8e832a76a241785fac1f7b2132f42ae1fa55","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.4.0.tgz","fileCount":9,"integrity":"sha512-/O5zba7qu746/q46jPlZVPygC5MUy5UxG5MMghGeFttL+BA3VTHUbITrbMviDnNT150GMiQHp3kshLzT1nWLyA==","signatures":[{"sig":"MEYCIQCI92QAhLFrWb2bi7v5wFaN/uIsFK0dYDUUJ5fSM09pxwIhAMeFBbh6349Ka2qfYqgobttCeYR2dsi9GCSyBrqLaOZ8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3143242},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"fb7357a29e6a7ab8e45380a46fb23d53aab0dc38","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.4.0_1763539462094_0.9411937820936727","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@getmicdrop/venue-calendar","version":"1.4.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.4.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b3f7f1f065c1e6841ac2d70c99104c041d91987e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.4.1.tgz","fileCount":9,"integrity":"sha512-2RVGWHZ26+LmhKIaVLVs0Iyk+F2wQloS1aTXFCyHDGqWtdGH0Q3+5V2nGYyqEHLCH0d2E2KhmLmJ3ZAAbV85Iw==","signatures":[{"sig":"MEYCIQDSHvnPuMN3cYJ90ZKt9TyWLhFU5r7mGVNpok7vZ7jQxgIhAJLqbeaEy1MbxTOuw6CnhG/yMcKxdTbqYBkMJtt9/jZn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3117157},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"3ef3d5f6a214aa153cac2bc5960b6a2d385d0e8f","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.4.1_1763579208533_0.20789793018416014","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@getmicdrop/venue-calendar","version":"1.4.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@1.4.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"18ce4b7ca134a95a32e862bd1dbe5830d4c51371","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-1.4.2.tgz","fileCount":9,"integrity":"sha512-JlbzQcsR2ns8fsR+6KSV5KJ16ekp92EhdlShfqrf7pO5cQYwhveQuJg3IzWVaHmv/2yYfv1CtPaifPlwGvqwtg==","signatures":[{"sig":"MEYCIQCvqbVxXxav+Y2pzjAxjuTb2/bqHwJn4gQRv+gtd+A6rAIhAMkZoAiGeoe+/VPVSGktZczFHX4vZLhNrXOPoysC7o4a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3123591},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"34e70c60769ab181d571fae88206ca2e04f9e3d4","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.5","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_1.4.2_1763583995845_0.34256039517107806","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@getmicdrop/venue-calendar","version":"2.0.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@2.0.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"710f0ec3599d4e6a16f10f47ba58773092addef3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-2.0.0.tgz","fileCount":9,"integrity":"sha512-oST/mjPvs1kGORYXcyfD8zLnODvGisbFXI9LefxHAWGLFl7ukvrODsjLRj//XybhpHvSsvQN7lkfzFixdGKhEQ==","signatures":[{"sig":"MEYCIQCpixflMgQE7Me4iG9rzNa/w7ZJB3nIn/dwhAnD0gcZEAIhAIjZzfeEmPtOphqu0ZlNzYWrlBZiLj2rrdHFzX3v4sZW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3161067},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e6db6aa804a9c797eb055e23ca93b7b1f0eb7768","scripts":{"dev":"vite dev","build":"vite build","prepare":"svelte-kit sync || echo ''","preview":"vite preview","build:lib":"vite build --config vite.config.lib.js","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"date-fns":"^4.1.0","js-cookie":"^3.0.5","@stripe/stripe-js":"^8.3.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0","@getmicdrop/svelte-components":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","svelte":"^5.39.5","postcss":"^8.5.6","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","@sveltejs/kit":"^2.43.2","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_2.0.0_1764654789203_0.4034167942563829","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@getmicdrop/venue-calendar","version":"3.1.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.1.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"0dd80b0213540da443a6eed83a94063779409487","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.1.0.tgz","fileCount":6,"integrity":"sha512-CRvwv6Cmj7YsQIoeaiJoeL9b8z2agEVH4OBhegjsXfQWgwCUUYsXi8uO0I2YddcrEAthQF9NVN7K1GIVIeT59Q==","signatures":[{"sig":"MEQCIDumkoBhFDrryop0hfZ8C00nO3fjpz5e5QvkgZ335JDCAiBnZ/7fl2juIwJNx7pZfObqrS6GPCVFAKwPM7S49dFrfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2765901},"main":"./dist/venue-calendar.umd.js","type":"module","module":"./dist/venue-calendar.es.js","exports":{".":{"import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5daac611c3549837e23598ae6de0d0a7ee3b836c","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.19.6","dependencies":{"flowbite":"^2.5.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","flowbite-svelte":"^0.46.23","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^12.6.0","flowbite-svelte-icons":"^3.0.0","@getmicdrop/svelte-components":"^5.5.5"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.4.0","svelte":"^5.39.5","vitest":"^4.0.16","postcss":"^8.5.6","typescript":"^5.9.3","tailwindcss":"^3.4.18","autoprefixer":"^10.4.21","svelte-check":"^4.3.5","@sveltejs/kit":"^2.43.2","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.1.0_1767848565583_0.5614169050691227","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@getmicdrop/venue-calendar","version":"3.2.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.2.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"58ba4d167bc17aead69b51eaa962402a19959b77","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.2.0.tgz","fileCount":26,"integrity":"sha512-Ios/eGRG8XYoUmhCUp6/Yu860jeEadjohuThMfagzf9Izo8SJ+KlKAFSnYrVqQzIHHOPZiNuC9d5a9l7qNz9tg==","signatures":[{"sig":"MEUCIBb/hVqce0yAphej30AXWWw63xunTLPFaJHLim6GtfqrAiEAytaxCQ1R0Mc27sloq4rbgMcWHnbI26kiKftqsx05Upc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8589267},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./src/lib/api/index.ts","import":"./src/lib/api/index.ts","default":"./src/lib/api/index.ts"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d30fb3270c5eec477635cee8cad51119b77a3a23","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.8.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.2.0_1769129100057_0.3943279920491012","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@getmicdrop/venue-calendar","version":"3.3.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"11513b381e4340cb27d22445d7437cc750b982ba","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.0.tgz","fileCount":26,"integrity":"sha512-4X6JyEm6ug0i4CeM14W8ocsInyhjtr9my7R9yumAT4KSv1s7Xj6KCKnhXDYMJBby45YC62IMF60hCPA9ktTq3A==","signatures":[{"sig":"MEQCIBTBlHUwPQCA0QDVk7Nt8KIcGWfr6ljGqjBw+b2J9oOlAiAvVYJMGBdUjmr7e39xdAY01O1PtMwk7jHS4TLxXHiRBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8524517},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./src/lib/api/index.ts","import":"./src/lib/api/index.ts","default":"./src/lib/api/index.ts"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"9fb5d1f7a708b5e139bd8538bc92ae855db6b103","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.8.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.0_1769285908779_0.33651662250971204","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"@getmicdrop/venue-calendar","version":"3.3.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1d6dfc226b7cc91570a733312e122fb1b08608d4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.1.tgz","fileCount":39,"integrity":"sha512-kW0qMre8+UPSOvy152Kg2MS3Utz690yx3vqkJVoNLxVpkFhP2Q2TPJxkreZ+kIDuEMt2OfMxwbbjTsHLXvzFGg==","signatures":[{"sig":"MEYCIQClm7c7K7INCikeX6F7BXoDNXkbo89xBtlFCvl7pWKz9wIhANSCNKXjviGzXxgQp4p37ypfpk6Yn8QgZ7mzb0ilPZo/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8778756},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./src/lib/api/index.ts","import":"./src/lib/api/index.ts","default":"./src/lib/api/index.ts"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e33e32db14d3d4af8b4091b17530d36d39e42316","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.8.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.1_1769297556347_0.6792876468892983","host":"s3://npm-registry-packages-npm-production"}},"3.3.2":{"name":"@getmicdrop/venue-calendar","version":"3.3.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"47c64738ca22330b3ce3fd80ee6612019bab1ee3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.2.tgz","fileCount":30,"integrity":"sha512-yjcixiL4XAtGrY+5O9/jds6sY8PFzSEwcywNObHrvfnSDiEOHy++P2qMRccq+22PrxpZDF6w2+kodGh9oyJ0aQ==","signatures":[{"sig":"MEYCIQCiJZraD/G9endvm8G0GpnYFx7Kixg9ibAkDb1wh95o2wIhAOLF9XpeJC9MTk6QpzSGfVJ+SCAxny/K4fXh/gesqI7o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8748590},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"56a7fecad42f529e1f2ff96447ca3d3cdf6743d8","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.8.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.2_1769297948855_0.41854181857209705","host":"s3://npm-registry-packages-npm-production"}},"3.3.3":{"name":"@getmicdrop/venue-calendar","version":"3.3.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a86e804bb6e98a7ef62dfdd793c13b9a197b5ac7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.3.tgz","fileCount":30,"integrity":"sha512-XxuRUFEawcltH2yeqEcLhN7dYkH0/6eKg/0oxGJbZa6ph9S2XploTXnTfpYgvwsEh21GYxcfaGDhDrOQGVJZkQ==","signatures":[{"sig":"MEUCIQCwxA/YoXn7xmARgoXq7a6/QguhBxJNIsC+ypghQ8qqxgIgZ3ouHpO/RXtumyNg5bDwCfij/OZ476dpRP5OaukDc7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8746517},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"35d775977394ef002737aaf41c2be334035bf802","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.3_1769315880800_0.31954893968693954","host":"s3://npm-registry-packages-npm-production"}},"3.3.4":{"name":"@getmicdrop/venue-calendar","version":"3.3.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"33801ffef7083afb4c2e347f99e88221e9b16be9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.4.tgz","fileCount":30,"integrity":"sha512-ojEJGnP68uydidDC1hn6bIYmG0+/s9c83qTus/Bi7pHsBGgSGT6dQOd7g+4aguiaMnAAJgTNrsv/eXeT+I2+Xg==","signatures":[{"sig":"MEYCIQDVbTwqaRbbtGCzJ/unakTW2Sjh23Ru+XSueNq1JyEWqAIhAIX/dl/dad3ap3YffKMzcuseNbBdgrFugJis8nr13xj+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8836829},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"eb7e8fd4548e04456a3ba15e7861717d5ce2da2e","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.4_1769461527418_0.6598687765872635","host":"s3://npm-registry-packages-npm-production"}},"3.3.5":{"name":"@getmicdrop/venue-calendar","version":"3.3.5","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.5","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8d71a652d29c30f44fb218e97a0fe84cbe765a1d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.5.tgz","fileCount":30,"integrity":"sha512-SbXYJt7XfKHpN+KHBiTClZ+jtx9TQ9Al2OVmvmLA1jp6YbKD5ZQkPLb6KXaQ7mryXmwZOeVQWB76Cp/DKBOqOA==","signatures":[{"sig":"MEYCIQD57VjchWonJuXlprZXBKUOlonvT7rh88I+SM7/kNZZpQIhAKRis2hsF3jsOCvdbjMEGcOlaUrv0gp98XP2R5J9b07R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8836829},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d702e2f1f55b675afbe12bd8fcd6476167873745","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.5_1769461599061_0.16924444805208871","host":"s3://npm-registry-packages-npm-production"}},"3.3.6":{"name":"@getmicdrop/venue-calendar","version":"3.3.6","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.6","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"62a1848f7c0099b5fd1e9ef2005ecfbb5e16a9ca","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.6.tgz","fileCount":30,"integrity":"sha512-pUecs2d3tpWEGASAfNKCsIxQKiJ3j3T66OfA7EsV+Zjzl2ujhRa6BJZTr8W6BIWQz8ruWdWJH/4LNpneLpTyiQ==","signatures":[{"sig":"MEUCIFrroFXsd7fIGtg3A9Z6ti5kkot0X5UFDsC/cpInp7DKAiEA7hmbZT7jJVlDl3WIigVvF8oreRK7vkoE3zlsAXdmbHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8836829},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"94b27b02294572186d88f625db49d318d62a5345","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.6_1769461739537_0.0013343627088728827","host":"s3://npm-registry-packages-npm-production"}},"3.3.7":{"name":"@getmicdrop/venue-calendar","version":"3.3.7","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.7","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"187a24337bc4e6b3de84728cfebe714cce1f243d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.7.tgz","fileCount":30,"integrity":"sha512-IqIDyPcWA//A2uhoY9DkwjPV0oSo//nVcCC9Rk/nyxkU7OehFjG4RWoDfUtSS1HvWlrm1gsPposxCXRMsq7PRA==","signatures":[{"sig":"MEQCIG7WMS6lnBs265UwUdiXmWL6mjGDo83YOGcI9HBx577cAiAVS5ZhLx9GVGW9CgpPtR8g4oXIg7HGGp2BcwpufAH38g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8764572},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"79819e86e1dd45d20eb209d27b7022e1021a9474","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.7_1769462735144_0.09199399618663717","host":"s3://npm-registry-packages-npm-production"}},"3.3.8":{"name":"@getmicdrop/venue-calendar","version":"3.3.8","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.8","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2a95d0364036acad936b835b20201ffa880e9b0c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.8.tgz","fileCount":30,"integrity":"sha512-2FkTHfxMcgJzQpTyu4K1nFuTG1VSxea2dnHcFOreMQE5R3Wew1oC+paYC6hExdkdnTh3fBAkvmEY7aFsX5iQ2A==","signatures":[{"sig":"MEYCIQDgq8QpqxsVVAYvKKumc4lqvqNZjoQnK74YQ7/b5LyhmwIhAKGID22SmbCkjDGKBSHly6UBQFtrfXmLVYQQBnaoWUV+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8994158},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1d8564dde3a4fb07c3fbf414e3aec9fda7331dd0","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.8_1769475111521_0.006998083316375636","host":"s3://npm-registry-packages-npm-production"}},"3.3.9":{"name":"@getmicdrop/venue-calendar","version":"3.3.9","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.9","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6402b2abf4ac85bba8a211f27d63c7a7e9e9abcb","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.9.tgz","fileCount":30,"integrity":"sha512-qJyUFLxaga8Jusscs6zbAglzJ25+4E7SaBcvWQzaA8PeVw6jywz2WWXuL8UCxvLmkXmD5cH3n+8nw/kJUTEh5g==","signatures":[{"sig":"MEQCIHkFD/1EnDCMzLYJ39xXkjv6r6WASEGFpgV77tcVmGP5AiBK1DxWk69yr9UZfUj5wco82HpHAqp47UATwLlMCj8sJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8998155},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"820a57924344d44fa13c07fe9a90ae20faf926b4","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.9_1769492808185_0.34404624349561397","host":"s3://npm-registry-packages-npm-production"}},"3.3.10":{"name":"@getmicdrop/venue-calendar","version":"3.3.10","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.10","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8f2a3b4e772ed71bf7c56ec1bcab4f148d137afc","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.10.tgz","fileCount":30,"integrity":"sha512-4BeLU+e0gI45JjaTiWnikiac8m8E1DP90+8OoGWNn/BlWZMzytjp3OlpRuCVYueDDyipoP8ggoJW2C++Xg4CNQ==","signatures":[{"sig":"MEUCIBwO02NUNb1zY5VvTg/Qo657+YLic0dFXZiPtkoWg7cfAiEAj2IlmBhrnwIIyt/DxvVodiOgFvtSoY2F2Nrg+1ht0Aw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8922543},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"14660b31cec0bcbb8953e8540ac79ebcb0c1aa53","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.10_1769540670127_0.3001654456412919","host":"s3://npm-registry-packages-npm-production"}},"3.3.11":{"name":"@getmicdrop/venue-calendar","version":"3.3.11","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.11","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6dc595da8aef2e086216ff540190c4ad6efae5dd","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.11.tgz","fileCount":28,"integrity":"sha512-AKRJZklkLTY1EgVzAtkd+Bt8vFXrQuOZUVCUjw98i0KUrGnxYT99OiGl1NXEq5zweV1FMPAOaxACIcGZ8f2/zQ==","signatures":[{"sig":"MEUCIER9gzgVh9rfJTJy543Qb50055DQ/cp/9/kZ3qkzoVr4AiEA+/Fqa8hlUl/LDVqXT0ApRguv/kN1sOOE9Fj19OMnFDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11496836},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./src/lib/index.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e03039e5c1fa18749bcb27faa4379ab0d2b66afb","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.11_1769555800234_0.21575559506788222","host":"s3://npm-registry-packages-npm-production"}},"3.3.12":{"name":"@getmicdrop/venue-calendar","version":"3.3.12","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.12","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"04fe8cf38d91a624bba84f8aa05a670f4d72f4b4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.12.tgz","fileCount":86,"integrity":"sha512-I3zNeGsHZqsYUMcSvjvqxplGLO0RfD7vtnZTHhh6N8gY5AKIKGK1B39Neh7qggxv6AVvQhIyPnOoF9D2FJTD+Q==","signatures":[{"sig":"MEQCIGb/h52bljkNOCFFKXyWn3A/nBi2vG425oSmceW9N1ynAiArxsZbK40GRrN4lymV/QOu6VnJS6ei5KvUcV/CA/AL5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12082061},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./src/lib/index.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e03039e5c1fa18749bcb27faa4379ab0d2b66afb","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.12_1769559929783_0.6689664921082932","host":"s3://npm-registry-packages-npm-production"}},"3.3.13":{"name":"@getmicdrop/venue-calendar","version":"3.3.13","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.13","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"798317ddeb354cae74377334c30e44e341420208","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.13.tgz","fileCount":28,"integrity":"sha512-/gknobaHX5vigeKedh/I1lF3zdj1SXan7Xl7DVKoQ/3vUNrjjonLJnCGdwoq0BXwlvefB0GFphKN7C9NBJ2okA==","signatures":[{"sig":"MEYCIQD4oCrp3dQD7e8FUvjLbLBDUNDbZ4Gi+ung6p7SM+SawwIhAOBwgG2Xira3NVj1q5OMqSEdAzzob3LY1Ct0M00BoCm3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11597199},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e03039e5c1fa18749bcb27faa4379ab0d2b66afb","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.13_1769560186283_0.7440752149369219","host":"s3://npm-registry-packages-npm-production"}},"3.3.17":{"name":"@getmicdrop/venue-calendar","version":"3.3.17","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.3.17","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"7374be3c4df8e54d836c73fed723824094e6cfd1","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.3.17.tgz","fileCount":28,"integrity":"sha512-jJ3/vJ5oBqIKWc642AXEyVz6krHk4EoTRdas142CCA7qw74MK4CrQLUTYgWe1wK61UNkX7NC8yDvc29gK99ufQ==","signatures":[{"sig":"MEYCIQD2qf88bH3z4litL9ckAb/PxWDYCgPElzB65wdJd6Os4AIhALLqmQjxZ53azHYjURwOSwodkz6CkIs4sK5bPyODLT1G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11510194},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c0bce3f0a9f62c3a94852a122001d4bd7a7bf806","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.14.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.3.17_1769580598361_0.9080811867769061","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@getmicdrop/venue-calendar","version":"3.4.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.4.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a7daac8068ff8443928409d2b1407d4ed71c0f54","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.4.0.tgz","fileCount":28,"integrity":"sha512-VEbW8w3p2fR/Od/VXKqC8UnNQuU13VxID3q0QZgz3zSCc0o1p3JxLRy2OPDsKtcygUO7QNjP8SD2SFSHv3Ad6g==","signatures":[{"sig":"MEUCIEYnCqu5h3YZ6ewk8qJhZ73s4FsQJWeCXIOPaUCmLPqqAiEAjT8xWyE9NIa2mtDFOhRURZtmYQBRsJ2SJ+6YE03U0s4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11536994},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"19ef228a13da2d27524d2f48391434f655b9116b","scripts":{"dev":"vite dev","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^1.4.0","@stripe/stripe-js":"^4.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.15.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.4.0","svelte":"^5.46.1","vitest":"^4.0.16","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.4.0_1769839766207_0.47811492328468086","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"@getmicdrop/venue-calendar","version":"3.4.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.4.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"23ea35f771c60096b43922f7ac5c8c0d288064a4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.4.2.tgz","fileCount":28,"integrity":"sha512-YCoaVZAFSVtIpxVEC7ltTNjUI566cqNEZvN2w1qWXZx95wzYZQptebjW8u7uFFeRUR38QJW9Xi02l+xqBDDPRQ==","signatures":[{"sig":"MEUCIQC39un8FnB1f1SeEgG8xGADqFVK7f6maawFO+xUWw2CtgIgVfl1Es091RczgjNCNJCd3rKet1ZS8A1gd5Y+G/imjAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11672501},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d95333429c4ca31eb87d8fd1fd5d8a64066bf9ba","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.17.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.4.2_1771912815421_0.5012628946711417","host":"s3://npm-registry-packages-npm-production"}},"3.4.3":{"name":"@getmicdrop/venue-calendar","version":"3.4.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.4.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5bc4aaa5c91422770c5ea1841b9f8d92048117d8","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.4.3.tgz","fileCount":46,"integrity":"sha512-dBoSi5THgNT5qFgOQvAWVsDuZN5grAP52yZv62T0oHLeSjZN8ONc4yceBj+7305RTlcUQ/OEaLBSW9yLxxdgMQ==","signatures":[{"sig":"MEYCIQCpklN2eWek2XSqfFNQok8iSm7pWx7WXeR1Qq6LG3vz7AIhAOtkJLfB8n2w0KruUrbVlF59YY2f76jOW51/AB8rSjdg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12740057},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c38ec8b01a0f1b0d2c5be97a9add6696429a54ab","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.17.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.4.3_1772343029184_0.7561713326910195","host":"s3://npm-registry-packages-npm-production"}},"3.4.4":{"name":"@getmicdrop/venue-calendar","version":"3.4.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.4.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"39bdae34bbf15def657f1e0716774113c55f95fa","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.4.4.tgz","fileCount":46,"integrity":"sha512-72n+dFJpp3g1H5ZYbKa3BAusQsFWmNayq2BI+Q98cSyDDKsGaKLes647iIy5fOdWzEcLmJuKcatx6aRzU4cUHg==","signatures":[{"sig":"MEUCIHpl9jPRSqgfbldwSBLQLKpc0MtA6792/MPyzv+ZR2bCAiEAq3ra5sY8zo2DsnNuDl4JZyXgd0d28wJRyPJas0yr9V0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13168061},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0f8abb658364a22311d675ff88a8e105122afff4","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.17.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.4.4_1772676545428_0.7009612590671936","host":"s3://npm-registry-packages-npm-production"}},"3.4.6":{"name":"@getmicdrop/venue-calendar","version":"3.4.6","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.4.6","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"cd7a289069baa343b66308e40aba84d3b9ccb4a3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.4.6.tgz","fileCount":46,"integrity":"sha512-7IDgJ3Wu+6OkTuJJjAho5mQmxbq25aEXp4EbdFVFMR3IOtqua+0eailRlnOQJhcrxNuTK0S3lvTn8ehZ+l6I1A==","signatures":[{"sig":"MEUCIDtv2jXFJJmPBAvdLKW4Pcyf5vl0FKboHLDgHM2zzCgFAiEA2Nx7z0gpAMAJT60R/Z/4mbk/7Nnv1VlK76MPsym5ZVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13580455},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"8ca655a7d30a689d1183e7affbfe46cf4894e911","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.17.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.4.6_1772784557999_0.005201072303942622","host":"s3://npm-registry-packages-npm-production"}},"3.4.7":{"name":"@getmicdrop/venue-calendar","version":"3.4.7","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.4.7","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"73fb8aa1a8e10ad8ce29f83adf620676d899bd0e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.4.7.tgz","fileCount":46,"integrity":"sha512-o+v5UWLhRrGE4SYKb1KWSG9/Um1kQAFEh9iClV1cVo8j16MslfZtuyqUlIaFDAFua3so08Zsnigds+cV0PyRvA==","signatures":[{"sig":"MEYCIQDbmFWPRBLD5GICA6wFcZ2LQtijtcflzW2XAvrYCf+5ygIhANEUgR4Wfqh7UtwFnKOc8ACi6f2qUotkbJLwvk/u96hF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14685552},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"ecde192edf910d17859f2bf8e1ccc7e3669763d6","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.4.7_1773162353000_0.2858784308103932","host":"s3://npm-registry-packages-npm-production"}},"3.4.8":{"name":"@getmicdrop/venue-calendar","version":"3.4.8","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.4.8","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"db383a1c43fdcb88c60a4db092050c3ad02c231c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.4.8.tgz","fileCount":46,"integrity":"sha512-DqJyEoP9HLYgfH9zSSHMqZpvqWJXqo9zMgGMXMAHI2erlrVZsZKWaX7CaRpno3CLnWPOKV0A+hOJ7g59C17Qaw==","signatures":[{"sig":"MEYCIQDTAreWN6n2KtesrYLMN2GpmUT1H865kjdJhKu3wHDtAgIhALI0aVny36LzGa4H6PSxPCbms7i2eMs4Kqmg1nREC8xi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14803623},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"8d6a06d8bd8f49d456f083243e1d3e8ae6ed57b8","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.4.8_1773267448311_0.5386087727266275","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@getmicdrop/venue-calendar","version":"3.5.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.5.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"af8e534415c9b3c09b32d14881801394904ad93c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.5.0.tgz","fileCount":57,"integrity":"sha512-gHzFPGyACCi3uCBB6Y+9JmafPhFiZWBs300eM93w3NW2U0IMovSe30ceiPd22WimIAnRaWTI6JzWnQuL1CWhdw==","signatures":[{"sig":"MEUCICSKh0m0pv0JZO0W3L4NxB7Zovx+/24dsScUB3LquOiSAiEA7psDNbXZmEsF0xsCxXFJFaGloUc/lneceo02pe0AnTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15113562},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c27a404fd8cccf259e0ac13496314f683897b710","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.0","dependencies":{"esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.18.2"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.5.0_1773382472605_0.17684706638655756","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"@getmicdrop/venue-calendar","version":"3.5.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.5.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f3c0a260a231cff04cef8ea450875fb5e398fa04","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.5.1.tgz","fileCount":59,"integrity":"sha512-CG7nLa0gMCwRNACiOLL3BKiS4IlyyAnl33luEI/Leba1sNGGuAl1XgXXmOD1bikdFlzIod323J0KxDFDZzpjrw==","signatures":[{"sig":"MEUCIQDnY3Y8WTlaL9g8gKoFCSlNOKVJl8PZF4L9iAA9W3OaVQIgM94v9nbFgljf78crxR5kr5u7Og9CMwg96uUeA5OiDt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16841726},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"3cc63f6983ddcb9caae810d9637e0dbddddb0840","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.20.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.5.1_1773960697162_0.6888275012695317","host":"s3://npm-registry-packages-npm-production"}},"3.5.2":{"name":"@getmicdrop/venue-calendar","version":"3.5.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.5.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"4c3d070aecfe744210be176ad4417427a07e9f75","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.5.2.tgz","fileCount":59,"integrity":"sha512-f4UtguZZ92pC3lISboIXj/k5aDuSLJK9GoO/ytopjYZAdpCrHaKN0pWiYFneGcj8dtxhhxDXWJxFUT/O5uio+Q==","signatures":[{"sig":"MEUCIQCBxdXH606XZFTGweCaWuKZe0lXBC9d0A1zipFThwW70wIgNox25Rm12a725gb4hCKNODQXqB0SFLA2bfpSoDjBE04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16692423},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f333f29aedd231e2803ccd90605be8406481df90","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"20.20.2","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.21.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.5.2_1775344331496_0.8815092824556636","host":"s3://npm-registry-packages-npm-production"}},"3.5.3":{"name":"@getmicdrop/venue-calendar","version":"3.5.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.5.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e8aedb162ca7fee2a3875412e63da0395cca2474","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.5.3.tgz","fileCount":59,"integrity":"sha512-XLykXs58RP0/MKDagyFFBERi21ur/BglBMefgxfUAhHnrfITQkbddH8UzVO8x1JxoCY+2k57pHCX21Gmsgts/Q==","signatures":[{"sig":"MEYCIQDpJ7o3iXDbuO8kQ1Y4T58po4c8CgkDUVnad7FP7LMe9AIhAIm8kuZ+l18152GsIGlV5OKU0ZGcwg3l7z76o8ywM3rK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16865347},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"ae6156de7d521883b7ad70fc4ac2885f4f285ca1","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.21.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.5.3_1775502397694_0.11970063461889269","host":"s3://npm-registry-packages-npm-production"}},"3.5.5":{"name":"@getmicdrop/venue-calendar","version":"3.5.5","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.5.5","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c964d6b38b41a6b4348dcccc3742cf9cce3f7eb4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.5.5.tgz","fileCount":59,"integrity":"sha512-Q3VvtoOLJ0zZnYF1B6lXiSF4HsQ/if4speCQcj3OJUKU0pxZ7/hmFyWLeSZmme0e3KbQt8KBxtCLkyE/7syDkw==","signatures":[{"sig":"MEQCIE3hi27no6Ob0jjzGNaQyZVvadhsvE6qR2ZCiOV4XwZzAiAgD0oB2W1e1UaM2aJvdmqu7ybzR/K0w5fItPXitp+Ptg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16703037},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a4ec442fe9dc3a85ba4f9611c91d382598f85a61","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo ''","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.21.2"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.5.5_1775703196165_0.8507884157069501","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@getmicdrop/venue-calendar","version":"3.6.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"051f032a7a8d4c03f61d03531ef3f981862eb6f4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.0.tgz","fileCount":59,"integrity":"sha512-36KymiH9G/61ab2gOHvs0IAXN1nJvALuf6ODQUH14aAXuDOLjxFYbCagbQtZEl+8/DybzwA06pBNuja3Hvfp4w==","signatures":[{"sig":"MEYCIQDZd0SEL3D8dnjClTSo814CrQVV7pTGgQyS9wTiTXillAIhALHnAxstx3a8G89pb7AwMSqxOilgUeBkJL8YhY20VHBU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16797069},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"6992c289c70bcbed9210644fd2a0b5fb4cd6da0e","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{js,ts,svelte,json,css,md}":["prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.21.2"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.0_1776278034017_0.8843413798994697","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"@getmicdrop/venue-calendar","version":"3.7.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1e3df4f55d7519c0a6ae2034e193f206f22f3308","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.0.tgz","fileCount":28,"integrity":"sha512-27X9TgwOf0qdy+u3OFn+5oCIGrSvxpyp4L2LBXq1Nhc8PLoaIFNnjajKZlVtJLiDskLkb8vNTpo1uU0Rc7ukPQ==","signatures":[{"sig":"MEUCIQCQZQviUsGdDTYy5cFk7SfjX7oFMBMw2pqO2HzCao/lowIgYDzSx0o8RATFhpu42xD1LDTHiUuxBzXM/cZRpwJUAfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14423948},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"796501a1ba4e14e3bc97c7c60244a1c002f359cf","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{js,ts,svelte,json,css,md}":["prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.28.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^10.2.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.0_1776565662556_0.15102522818021646","host":"s3://npm-registry-packages-npm-production"}},"3.7.1":{"name":"@getmicdrop/venue-calendar","version":"3.7.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6ac69795f3e457108296acaf9bca07f01be7f80b","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.1.tgz","fileCount":39,"integrity":"sha512-fQRoyIur+W0AUliL80LL31TJFmPkYRGhTbRIOzWNzHXEALtrhE8k7cNCEHJNRfC5LQ1msyawv0tb5hEoEQkW4w==","signatures":[{"sig":"MEUCIQDffMw5W7KIp2eiw8tcTz6S/IzX5LIOBoM0pcjJC3DJOgIgGmO5IO5SXjfgMMAqXyrFkJDxRJROH/uxQnA4gruGv/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14574061},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2c920d5e8c754ae5dbe21d803a074e60ef8575c7","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{js,ts,svelte,json,css,md}":["prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.28.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^10.2.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.1_1776567406465_0.8038924982550104","host":"s3://npm-registry-packages-npm-production"}},"3.7.2":{"name":"@getmicdrop/venue-calendar","version":"3.7.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5e64f70ca21a1ed5fb7492c957296a0a83e9106c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.2.tgz","fileCount":39,"integrity":"sha512-9yXTRkpkeFNltvy8VhBjHrgR78QDkt7PVzHzoirst3RMiOoaSvM197hsn48L9kI/RW4RDkz8Jt7ASTqjVF5yJg==","signatures":[{"sig":"MEUCIHQv9+DM3y3oGaUi86fESmpEm3Ob3EsvAKsEl9tWOHFHAiEAlaSYm5J6ZrdwhSwIp1iFKNwBWU2SWW2YInPx//CuMIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14574312},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"484c51c7abebe2278dd19fc58881c0c38ef9c048","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{js,ts,svelte,json,css,md}":["prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"esbuild":"^0.27.2","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^5.28.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^10.2.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.2_1776585247135_0.7392074133842963","host":"s3://npm-registry-packages-npm-production"}},"3.6.1":{"name":"@getmicdrop/venue-calendar","version":"3.6.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"3504a91e2498afa4090f33be780861a5bc3ed0b3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.1.tgz","fileCount":59,"integrity":"sha512-kuovMO3HBVsSSIg6nnrkP6p697KEHV07W/JsnszMv2/KfNQhkvtckwHU3UaWLmKxnO/uEVT15/AXrwUMUiT5YA==","signatures":[{"sig":"MEUCIFOqm9M1RIm0rA9ZSHCrzimUiuBX98NvKJw8uxQk/UBCAiEAv62Q/LBKTNTimVgr5rhvf8W38EO4NTYxGtwYbxtwoZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16972174},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"72660c097639392a9a3936b8b7e7c5e56eba0146","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.1_1776618327007_0.08840469625165825","host":"s3://npm-registry-packages-npm-production"}},"3.7.3":{"name":"@getmicdrop/venue-calendar","version":"3.7.3","license":"UNLICENSED","_id":"@getmicdrop/venue-calendar@3.7.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"dist":{"shasum":"5fb461b1d394c3664a0f03d00a5b4a95caaf53ff","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.3.tgz","fileCount":4457,"integrity":"sha512-IBurw4t6y0WVa1I3hBm5rLknvkqDaGH8nZ2xms8+J9tJb5/Au1QdA2nZVbdb1rUarbBxNlQkgZuRBxZVwttJfQ==","signatures":[{"sig":"MEYCIQCtRJc9cGKND+5ro019yaoUHOGLBuW5bRsKlHAvKqIrbgIhAI9XhSRKv4ua52IrUdpipiVmGAMUTNELY9mOnu8Xtd5O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137039497},"type":"module","scripts":{"dev":"cross-env NODE_OPTIONS=\"--max-http-header-size=32768\" vite","lint":"eslint \"src/**/*.{js,ts,svelte}\"","test":"vitest run","build":"node scripts/copy-version.js && vite build","check":"pnpm typecheck","format":"prettier --write .","prepare":"husky","preview":"cross-env NODE_OPTIONS=\"--max-http-header-size=32768\" vite preview --host --port 4173","test:ui":"vitest --ui","lint:fix":"eslint --fix \"src/**/*.{js,ts,svelte}\"","test:all":"npm run test:coverage && npm run test:e2e","test:e2e":"playwright test","storybook":"storybook dev -p 6006","typecheck":"npx svelte-check --tsconfig ./jsconfig.json --compiler-warnings \"css_unused_selector:ignore\"","test:watch":"vitest","sync:models":"node scripts/sync-go-models.js","test:e2e:ci":"start-server-and-test preview http://localhost:4173 test:e2e","test:e2e:ui":"playwright test --ui","format:check":"prettier --check .","test:coverage":"vitest run --coverage","test:e2e:debug":"playwright test --debug","build-storybook":"storybook build","sync:models:dry":"node scripts/sync-go-models.js --dry-run","test:e2e:headed":"playwright test --headed","test:coverage:check":"vitest run --coverage"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"tar":"^7.5.7","glob":"^11.1.0","map-stream":"0.0.7","cross-spawn":"^7.0.5","svelte-stripe":{"svelte":"$svelte"},"svelte-multiselect":{"svelte":"$svelte"}},"_npmVersion":"10.9.3","description":"MicDrop Frontend is a SvelteKit application powering the guest and operator-facing portals for event management, ticketing, and performer scheduling.","directories":{},"lint-staged":{"*.{json,css,scss,md}":["prettier --write"],"*.{js,jsx,ts,tsx,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.3.6","clsx":"^2.1.1","axios":"^1.8.4","quill":"^2.0.3","chart.js":"^4.4.7","date-fns":"^4.1.0","dompurify":"^3.3.1","js-cookie":"^3.0.5","jwt-decode":"^4.0.0","layerchart":"^1.0.13","sortablejs":"^1.15.7","web-vitals":"^5.1.0","@date-fns/tz":"^1.4.1","jsonwebtoken":"^9.0.2","svelte-stripe":"^2.0.0","swipe-listener":"^1.3.0","tailwind-merge":"^3.5.0","svelte-gestures":"^5.2.2","@sentry/sveltekit":"^10.43.0","@stripe/stripe-js":"^8.8.0","@opentelemetry/api":"^1.9.0","@inlang/paraglide-js":"^2.11.0","@tanstack/table-core":"^8.21.3","@opentelemetry/sdk-node":"^0.212.0","@opentelemetry/resources":"^2.5.1","@googlemaps/js-api-loader":"^2.0.2","chartjs-plugin-annotation":"^3.1.0","chartjs-plugin-datalabels":"^2.2.0","@getmicdrop/venue-calendar":"^3.7.2","@opentelemetry/context-zone":"^2.5.1","@opentelemetry/propagator-b3":"^2.5.1","@opentelemetry/sdk-trace-web":"^2.5.1","@getmicdrop/svelte-components":"^5.28.1","@opentelemetry/sdk-trace-base":"^2.5.1","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/semantic-conventions":"^1.39.0","@opentelemetry/instrumentation-fetch":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0","@opentelemetry/auto-instrumentations-web":"^0.57.0","@opentelemetry/auto-instrumentations-node":"^0.70.0","@opentelemetry/instrumentation-document-load":"^0.57.0","@opentelemetry/instrumentation-user-interaction":"^0.56.0","@opentelemetry/instrumentation-xml-http-request":"^0.212.0"},"eslintConfig":{"extends":["plugin:storybook/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","husky":"^9.1.7","jsdom":"^28.1.0","sharp":"^0.34.5","eslint":"^10.0.1","svelte":"^5.53.2","terser":"^5.46.0","vitest":"^4.0.18","globals":"^17.3.0","axe-core":"^4.11.0","prettier":"^3.8.1","cross-env":"^10.1.0","storybook":"^10.2.10","@vitest/ui":"^4.0.18","typescript":"^5.9.3","lint-staged":"^16.2.7","tailwindcss":"^4.2.0","svelte-check":"^4.4.3","@sveltejs/kit":"^2.53.0","@playwright/test":"^1.58.2","@anthropic-ai/sdk":"^0.78.0","@storybook/svelte":"^10.2.10","@tailwindcss/vite":"^4.2.0","typescript-eslint":"^8.56.0","@neoconfetti/svelte":"^2.2.2","@vitest/coverage-v8":"^4.0.18","carbon-icons-svelte":"^13.8.0","@storybook/sveltekit":"^10.2.10","svelte-eslint-parser":"^1.4.1","@fontsource/fira-mono":"^5.2.7","@google/generative-ai":"^0.24.1","@storybook/addon-docs":"^10.2.10","start-server-and-test":"^2.1.3","@storybook/addon-links":"^10.2.10","@sveltejs/adapter-node":"^5.5.3","prettier-plugin-svelte":"^3.5.0","@testing-library/svelte":"^5.2.0","eslint-plugin-storybook":"^10.2.10","vite-plugin-static-copy":"^3.2.0","@chromatic-com/storybook":"^5.0.1","@sveltejs/adapter-vercel":"^6.3.2","rollup-plugin-visualizer":"^7.0.0","@storybook/addon-svelte-csf":"^5.0.11","@testing-library/user-event":"^14.6.1","@sveltejs/vite-plugin-svelte":"^6.2.4","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.3_1776618493657_0.25507324640909634","host":"s3://npm-registry-packages-npm-production"}},"3.7.4":{"name":"@getmicdrop/venue-calendar","version":"3.7.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"fc6623a748893978578c548d412e787ec57eb801","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.4.tgz","fileCount":59,"integrity":"sha512-TmR3gPmAOT4RcYn1JBDnFqZ6Ervm2DQ5m4kUPKU9Po8i73O1Kti+g7CbLVKbwnUXUzFuaVdBxItuh/fQ/F525A==","signatures":[{"sig":"MEUCIQDToCGpKVI29Z1Rb+X3y1MwuDxtyzIO/1lG8UyiQ2tfXwIgNvUvSB2ySqk4n4Z5VzNO+/e6LnUS+2mHQhNB0wrpr98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16972174},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"72660c097639392a9a3936b8b7e7c5e56eba0146","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.4_1776619044427_0.289143978124349","host":"s3://npm-registry-packages-npm-production"}},"3.7.5":{"name":"@getmicdrop/venue-calendar","version":"3.7.5","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.5","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"30a63aafdd74ea6d63538f8105529c93e5b79977","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.5.tgz","fileCount":59,"integrity":"sha512-ixWrkqAOpIzI5O7tzxIVsd1GsdrT6OgJjl8sqrrwssQzZ/vQ6S7tmAVtSCr9Nia/WLnLz3/vn6cU6162iBXMMw==","signatures":[{"sig":"MEYCIQCuhyKKQGwjT6nGYaTr2+XVPCdZpW8JK/Sy04zj1KoQogIhAKWaultk2mghOU+mWSWERpwHT6i5p+1Jw611J/TpJsOF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16974082},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"9db6ada44ff7568e25accd8ede3b024b36a0dee9","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.5_1776621945802_0.25319174417516765","host":"s3://npm-registry-packages-npm-production"}},"3.7.6":{"name":"@getmicdrop/venue-calendar","version":"3.7.6","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.6","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d4e961ea35ea8f057fa9d2ba6c7a23b63599fff2","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.6.tgz","fileCount":59,"integrity":"sha512-Ccl5krIE9B1Xxfq7dSYlJsjkGls3VNdGNgxZup0hCipWTrMlCT1YdLtuIXNbP4onZ5k3JGTJfVM+Pvc/YK3Qgw==","signatures":[{"sig":"MEYCIQD9T6on1PRB75Jj9DYq7AKhoq2z4H+EM++tTijiKGGd8AIhAIusWrYOicvRGZ345/MWW3lfEgUihobxItQ6CjWqI9gB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16973398},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a06b13fe6669ff0dd9652002820f99a801b3250e","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.6_1776721232571_0.021925640825666504","host":"s3://npm-registry-packages-npm-production"}},"3.7.7":{"name":"@getmicdrop/venue-calendar","version":"3.7.7","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.7","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e087a1f9b0bf9386cc4d3a3929e741e4062b5ff8","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.7.tgz","fileCount":59,"integrity":"sha512-6UQtb15n864RKP0RHZbR2ZNjiVrJErBoPS4Ez1gc6Lenj2wEZsq7Iy9Ltl16QQ3RBJh8TS4ZQnzltecHKSM5Ww==","signatures":[{"sig":"MEUCIDqCnHMVzwj/IQiSNDyM5NJiP57IKped6Yg/2XWvosAgAiEAiNufEUwNjNaZEQn0Fs8udf+QMIdiwW+VcmrxW6edO8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16974475},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f7112cd59603371e1f305c1db9efc7b6a60aad00","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.7_1776723618355_0.28260886568091936","host":"s3://npm-registry-packages-npm-production"}},"3.7.8":{"name":"@getmicdrop/venue-calendar","version":"3.7.8","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.8","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"4bf25287418dd1536cc7d0936ea72252980f0a60","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.8.tgz","fileCount":59,"integrity":"sha512-0hbRmpse+T41EHSWXBE+j3rpIP2gVZTTFYu5MsUyRaFVMvbFM0+BoYLOanmNi19KJZmWSYIFaHEwhU0g3FSzxg==","signatures":[{"sig":"MEUCIQD4XlPpi3k4K54s3OMFvnGk/4/xGrszjeY0sfhlmyA7DQIgSjnWFb5suEl9rMqDFCgc5Kasw97uQiH3uBBdCHMQHtg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16974475},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4751cbd30687e86f0816d1de87decc00d4ba3126","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.8_1776725682649_0.19773359264651447","host":"s3://npm-registry-packages-npm-production"}},"3.7.9":{"name":"@getmicdrop/venue-calendar","version":"3.7.9","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.9","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"361250a92e98cb5a05829f47680811e68338ab11","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.9.tgz","fileCount":59,"integrity":"sha512-WxlhqrBM+bkvHEEnxR1pcDVOn/1xDNslYGWF1T1iFSj7uAKGVTP8fi8+GeqyQmYiEqD30KEtsIvliLscIwmxMQ==","signatures":[{"sig":"MEUCIQDi0YzgcoPYrzhatRcvjuelazCdS3kRfSHt8FcgMdkF3QIgRWdgeNRWLqqveL27m/ncax9af5vnVUXt/XFfBDN++kE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16974475},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c7469482ebf4a6723776f679da81897b58c673bb","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.9_1776729548244_0.6050394828811156","host":"s3://npm-registry-packages-npm-production"}},"3.7.10":{"name":"@getmicdrop/venue-calendar","version":"3.7.10","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.10","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"619cd4e56055cddcd13ca2af95b73eb4942c0aa7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.10.tgz","fileCount":59,"integrity":"sha512-g9vAugHyb2OLwgQ7H38ivyPic3KPHuj/GnPJV+lO6f5DLSaAyw651GBJz2RvsmDjuPNkyD0MKncqRRBPN6MwKg==","signatures":[{"sig":"MEQCIBDiqP3oYEgc9oBaPY4FmDbKXloDVliH7hPD5y7E+i8OAiBHTsQAuqXPXRvG8aQEwiazRGQOQqh3Y+04WEYWrXLv4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16976769},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"19c467f79e80ac519ae27aac8a1b4170893e70d1","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.10_1776733693049_0.23183255566859629","host":"s3://npm-registry-packages-npm-production"}},"3.7.11":{"name":"@getmicdrop/venue-calendar","version":"3.7.11","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.11","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"dab1f084d05cd770d58be324b8c033b0a440cc21","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.11.tgz","fileCount":59,"integrity":"sha512-GtzG5ybkOcbrifwNr+8EaUo5VikvJpkphI0Tw4oK+iG3l1UOcLh2fSWnOPQCXsvq0SwDsLnw1Kwv7OMefbUFPg==","signatures":[{"sig":"MEYCIQDIxGyj8oboI+rmTsflBmhACuro06GMI7CmqmdMb3+MJwIhAJRc1yQIAcUTW2/hzEfCP9LrzZXbjgJqS/a4Ya4jSJ7Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16974832},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"bb72b4e8df40c7a5e16a91e9026ceb0e519665b2","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.11_1776736649916_0.5504105300596924","host":"s3://npm-registry-packages-npm-production"}},"3.7.12":{"name":"@getmicdrop/venue-calendar","version":"3.7.12","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.7.12","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5dc0a6466151897c6fb8ce80819d004ee2b3af8a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.7.12.tgz","fileCount":59,"integrity":"sha512-FbYVohLiV8+KPCyJKlurbM2imqgxmx7cuw4Ta8bmlEVo+0Un8/+L9wjatfujI+v5c854+T+ZtCb+JPhHR26ECA==","signatures":[{"sig":"MEQCIAl6pzo/xm3ZKXWkO2Hk6UpLjm9GKOYWFBZcZ39a7xfTAiBac3wxLPRrUbxuGYvRejsFgwSx9BtBljJvxyFS6L9W+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16975599},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"41bc03b92fa1998ecf96e7fbe02ea8ac7de495cd","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.7.12_1776738534983_0.6960267155601325","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"@getmicdrop/venue-calendar","version":"3.8.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.8.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"3ef5a6eeb8ebcaf5b91643d9c2db39711c64b846","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.8.0.tgz","fileCount":59,"integrity":"sha512-5e36Na3/zBzvC0RVebYPkuVisTnMed//8CnJFKEOJ8dRCgeRP11ACfq5dNlnXfL/nuI5bIcQiZRHXQjLshTwVQ==","signatures":[{"sig":"MEUCIBH/72eQgnhtTvwYNUo7DFEnzJqgHbaRvIn/CwirabJQAiEAgMi7Wgxx8kojg2YCx/TSUSMCAngrw4TQTvWZvOPcGxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16972879},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"71221fc376a9f876ba884870dcb80e14f159d0c1","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.8.0_1776740480706_0.11995386469404523","host":"s3://npm-registry-packages-npm-production"}},"3.8.1":{"name":"@getmicdrop/venue-calendar","version":"3.8.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.8.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8f432e375d367376303efec33d0383ff2f36d593","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.8.1.tgz","fileCount":57,"integrity":"sha512-1WQTbIYUiq8+pv5tfTkF1kG3wHGrAxbzuIkn8nCUU+vrkkP4l5lZYLMmtW6+jB6ANJ+dhlOGoxnar/i313mRtQ==","signatures":[{"sig":"MEYCIQCVALCBjOT0tOQ0dgMpZhp93cFdPgjEeNPifJ4BDOm9PgIhAP7ADTM7obAlvukQ41PdKK89U5a+GIlre4kkkntN4ppD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16814597},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c1bb4c9404ee6bf7dde8cd318d1f5078f41164cf","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.8.1_1776742418439_0.600506070721345","host":"s3://npm-registry-packages-npm-production"}},"3.8.2":{"name":"@getmicdrop/venue-calendar","version":"3.8.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.8.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"7944824820c9f357ce15449117e86dc8466dec5e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.8.2.tgz","fileCount":57,"integrity":"sha512-fds5x3pZJ9yGscdPfvXaZ2Db1qrOAWlHVDuwL10esNvto9wNjA4QZ96Euko7Iq7aa5my6oF4wsHok5ldXdkYag==","signatures":[{"sig":"MEUCIAqy8d2CIiru9ltkmwP/5kW4SyTYLxa94SpyQi9WFym5AiEA/m4ngg0WF4op0rGWV0ZHaJCGiFZSgAgnm97Uf7o5yhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16810771},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5750d1cc56a3e6403a69c1ebf0faa535685a86c8","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.8.2_1777071276905_0.8801518603382168","host":"s3://npm-registry-packages-npm-production"}},"3.8.3":{"name":"@getmicdrop/venue-calendar","version":"3.8.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.8.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1d070448c94e1b6f000160bee661efa8a6d21926","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.8.3.tgz","fileCount":57,"integrity":"sha512-virrAMDhCElbjCTKZboiqYR3sr28JPewqNx9hbMnQv4nkaw4KRKf0+gL0HI9YRVDEBPPP8p3rUeur0D0t5qjWQ==","signatures":[{"sig":"MEUCIQCRUZSpiS+f31e2Q4FsReKIixt/MZL5Kp7RsUt3JUWg4gIgSkpWhHkAY3bhQrqw2PpC40Dp9g/rZB9H4MFLSNyQzRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16813664},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5750d1cc56a3e6403a69c1ebf0faa535685a86c8","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.8.3_1777073730001_0.23832351409885888","host":"s3://npm-registry-packages-npm-production"}},"3.8.4":{"name":"@getmicdrop/venue-calendar","version":"3.8.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.8.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6b8b8e4d24e7e55770d43510594580bbcf15b7e1","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.8.4.tgz","fileCount":57,"integrity":"sha512-FlH9LvGFhjZjy0av+ikO3pSkmYKQlVZ26eu4hrfmkBKjTIUoG1bx242Az85I15kQtfAus/QTuncSiQ8DzPjkiQ==","signatures":[{"sig":"MEUCIQCxak+vmFng1XBVFPDGdvfjwKrhZ4N4wYqNfj9S+UzZaQIgI7CNiwHAHtbu2Kg6x3hk+B3NSi+5QsJeN4YDKdrGtkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16813605},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0ea237cf500d247b16f6694e0a7113acb29d4585","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.8.4_1777074639427_0.6471470020158485","host":"s3://npm-registry-packages-npm-production"}},"3.6.3":{"name":"@getmicdrop/venue-calendar","version":"3.6.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"05cb477f0dd65638f58f438599b99d05e4a2f959","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.3.tgz","fileCount":57,"integrity":"sha512-DgMKOOxnYe7hWdzXdPhoiGDQsC1MPvw6MgfIck+NTqMIBhT63g6ZKdgehBAmtduBERsqjPgcxpxbaXKEiUPJRw==","signatures":[{"sig":"MEQCIDtojTSUdGWVoC9cjsLpE/DiX/lFqfcRezLGwtPvcXacAiBSglCCzuhkALXPEz9JVerjBQPj18nEDTtuv6oZcm00kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16875219},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"cfc505d64a751647e6889c25afe398e43e5af331","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.3_1777852605734_0.39477939299860787","host":"s3://npm-registry-packages-npm-production"}},"3.6.4":{"name":"@getmicdrop/venue-calendar","version":"3.6.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8516f56f76a3a8787568566ba235e10a3d4c8b7a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.4.tgz","fileCount":57,"integrity":"sha512-jvVS0KHby4JbLe7pPxl0wh/0pIt2N5JzWtz0Z5B3thBseE4jUUU5t5nqEEn/mrv8GHZzkmO8+5rwK4JTWk/u6g==","signatures":[{"sig":"MEQCIGIJJbhP0pKzula6GfYv3T2MkWN3xhiLVyzW/LOfSlOtAiBFKc1kukq5bgeCGr8+uj9tXhqRNmY0qtWeACShWWIUKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16875291},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"fb5c0e32c497688ad8862866aa145c6e54ac8e70","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.4_1777853475118_0.722841051649677","host":"s3://npm-registry-packages-npm-production"}},"3.6.5":{"name":"@getmicdrop/venue-calendar","version":"3.6.5","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.5","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"634916391a13a0c80256de543af408ab155793db","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.5.tgz","fileCount":57,"integrity":"sha512-R5Zo4rMQhtOW6xsQMrUPoEmVZrOe8/CE9pJz5O4k7kc28cFgYBQlbzNM0CoOjliWbDPi2TTuozheVkTxNpEEtw==","signatures":[{"sig":"MEYCIQD+k4uq4CIWD6te4KAOf8BSRtiao7ppUma9pV3iQZgSfAIhANBUAoQJtq1JiCoeOmNV5CIHLA8NGb5Qo1Gt/rtJHS7/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16876451},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"198d08c3c3328121d3bc1e13ac8575ad1ed58989","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.5_1777854598343_0.16278010432485757","host":"s3://npm-registry-packages-npm-production"}},"3.6.6":{"name":"@getmicdrop/venue-calendar","version":"3.6.6","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.6","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"14aca6d04dfd5e3883321f648b21e9d4ae220190","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.6.tgz","fileCount":57,"integrity":"sha512-ggEvjxOPD/aI0MpH3QH+54mWkErDFPrVu5CZrwpp8T6GGYdrpZgiV87e2p+EKZ9s23TavytPLier4qWejNih+Q==","signatures":[{"sig":"MEUCIAnHYY/E+gsS3nAJV9SB0MXBEWlVSAVotBsBJ3c7UfKmAiEA7F7hRJh54UshLQzbO27z6uh/nXo5SalVZ53Qp45HymE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16876456},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"906ff4580ae1ea594291cf4f8101b2eb4438ed17","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.6_1777856021905_0.9970834355184104","host":"s3://npm-registry-packages-npm-production"}},"3.6.7":{"name":"@getmicdrop/venue-calendar","version":"3.6.7","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.7","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"19bb26b86f8d7091d2a7a23062811d810023109c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.7.tgz","fileCount":57,"integrity":"sha512-B1obnOWtMjdhotlwnOMm059scI/Gz8gdKO/z4gh3Hy1+9XEP6AUK/8VzxdC3+UMfztMx0P3Jw+YzNscnqYiQRQ==","signatures":[{"sig":"MEQCIHUXXY7C9xEmrXWNj0MpTM4CRJtCzFcISd/z0T1k3x/pAiBlehukvqmuboqfGfHh83pt+/RsLmELqI5iajmpBM4I9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16880177},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"830bd9bd3693d898b37e120a200a13553ff34367","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.7_1777857126762_0.9126920200377855","host":"s3://npm-registry-packages-npm-production"}},"3.6.8":{"name":"@getmicdrop/venue-calendar","version":"3.6.8","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.8","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"54b7d4a04561160b6527058935924ec2e99c0286","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.8.tgz","fileCount":57,"integrity":"sha512-UCxiAzjgJMEqgFxuBRVUx9/2/Ubby+PgRuXmRSxKkZMqzqbEyESILvDkogJan343bvQXZqZDVUTi7iiYsGJBEA==","signatures":[{"sig":"MEUCIQDgg+GkhDt0maIKeAhF7xPGHXy4WilFsx+AuMzwU7GeagIgO8/SqsVmQUTJV9ZLZ8cMth1brwqoTDgK/VdUBeKuO60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16885998},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0803782a81177d8ed5421ff4f349571c972037f9","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.8_1777864851888_0.8256438267815878","host":"s3://npm-registry-packages-npm-production"}},"3.6.9":{"name":"@getmicdrop/venue-calendar","version":"3.6.9","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.9","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8d19cbbb940cee4777f34f1d613b5c780e13642c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.9.tgz","fileCount":57,"integrity":"sha512-XjVKhoOKrEDCQLxPEaqmShBoGZeONaiHPPbW3wJJ4zOSz8MCHo/Yebn1NlvVnTFWZ1q6ZnaRI6pdzn1Fu7F7YQ==","signatures":[{"sig":"MEUCIQCMzVSIyvmZhfGcjNh7bG+Gjvo8l/aJOJ1UHUjOYpi3bwIgLJ61UOiJ4QJ5Ltmh6eqWEXCcvVJ67KufeQtQO+4I2m4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16909555},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"933c6808f94c8c730b8f17a8da24fc456a85ddb1","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.9_1777866073843_0.4959043043507749","host":"s3://npm-registry-packages-npm-production"}},"3.6.10":{"name":"@getmicdrop/venue-calendar","version":"3.6.10","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.10","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ab3fae566069cf9a9c97730813d160f69e8e12f0","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.10.tgz","fileCount":57,"integrity":"sha512-7fHoV15gPTmOoIquHZwtpJm3zMyM0KhfdXtc7nQS4RseoLQ/+bLvPx6GsNh7Qzna4Jj8V2bfUHgHgJtuTxPyKw==","signatures":[{"sig":"MEQCIHFAWyI/hTE37xCY6GeSxEYWnfnh/2ZnqMXkaD6feKwnAiBcl4pbu8XdQF7DISokyla7FiQd379llHzuEI5YpC8Fbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16909669},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a7228644b7c704ee903c3fa661f221239539d509","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.10_1777867117410_0.8968826678232675","host":"s3://npm-registry-packages-npm-production"}},"3.6.11":{"name":"@getmicdrop/venue-calendar","version":"3.6.11","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.11","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d29a52b58400e065651b414294d65eb9e203a1bf","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.11.tgz","fileCount":57,"integrity":"sha512-BZSVHmRjesEyWB7QYetFklpvB4gjQDVZDCHaEJMgozcL+7RJb80DZ3vPCjtaHbshNzeLoyFer+P3AVk/pejkRA==","signatures":[{"sig":"MEQCIA3nMV5N4CCo0RVHKL8JcRCdpMwKW/8Svo1n3/2X4uBSAiAF7bgdyPKU09+wIKxtUAAcvYZcsl6iHMP7Kn/UEUfdQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16912673},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"9a3c44909bbea42058308115ca81cfbbfe7ce313","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.11_1777867367639_0.8878741855045786","host":"s3://npm-registry-packages-npm-production"}},"3.6.12":{"name":"@getmicdrop/venue-calendar","version":"3.6.12","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.12","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"0031f9db5ddf9aa30c9e03dd1a309eaf8358d8b0","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.12.tgz","fileCount":57,"integrity":"sha512-GfjvFVX4yJr/CqqZ2jrn656sk7XoevmuOfXWE0fp201k54Up8/3iPSVEGCAk8K0Ub9pzLUfphbHPNLvXp7P9pg==","signatures":[{"sig":"MEQCICG4L+ucVY2uDzS/x8F+Q5wqDPztYyAWcAMcy9Uqhc9tAiBX4r0mDJxwLBW8Giq72vMgzpLNy+Z36nS6TdnlYueEkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16916742},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"cc20571698073c94ef643bfa491d08752a3373c4","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.11"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.12_1777870448999_0.3659734250485216","host":"s3://npm-registry-packages-npm-production"}},"3.6.13":{"name":"@getmicdrop/venue-calendar","version":"3.6.13","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.13","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"9dc9463bbf0bd3de6b28194af288d6cfe4880608","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.13.tgz","fileCount":57,"integrity":"sha512-AlWi191V1MubpwKhiaaKfnVHMrvZ89wqviJC4ZdNg/Ccbly9GELJOq/9oR+OMYNV/mchDD7yd/MZntSYIClMug==","signatures":[{"sig":"MEUCIEODPJYGNPRh5OivgDBGtijFubmdxPoHacaRvRpSG4yxAiEA6RPlP8gp0q4rXpSJ9a2gEjzBpWA0hBFS/5bi7BzcPvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16918491},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"dab77a6e3db302a212d1b2cffa6084dbfd2b4e51","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.11"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.13_1777871614169_0.014654413912544406","host":"s3://npm-registry-packages-npm-production"}},"3.6.14":{"name":"@getmicdrop/venue-calendar","version":"3.6.14","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.14","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"742186d91a1926a64405fa41b0aef80348315bb9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.14.tgz","fileCount":57,"integrity":"sha512-040/vuAgrupdpAhEAxfHOHoOqDdZ+WsgXVhfnZ0dmEEiHvi5/sRhVjt2IBtXmm9IDEHpfxl4ZfCrGEkHoHiryw==","signatures":[{"sig":"MEUCIQCwp2qRlvG3PaF/VQImjxxHBLq4/7FIrpsXfjqa3WjGIwIgG5c5ivbKme/4RqKd1Un5fnxjZS52RnZSeQkEwdcmku8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16919722},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"49b14dadac9872eab66cbfa469661822eddd01ce","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.14_1777873712943_0.055979594150452394","host":"s3://npm-registry-packages-npm-production"}},"3.6.15":{"name":"@getmicdrop/venue-calendar","version":"3.6.15","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.15","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b7b9a0a6d86b8007d7a9060561e2766c80667f3d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.15.tgz","fileCount":57,"integrity":"sha512-OeXKbohJyz7ZLDMN72Wz8Ky58aEGx7y0fNVzMbBbuSVtbMvgYfEfZwXki4MnXJx1HKYyksoTVrBI1pqfIuGFjA==","signatures":[{"sig":"MEUCIGLEOblmiIZrFUx6raWai+zk47KHG8GE3ieiie0JSTAPAiEAgl7eS005eb4AS4lZdZZ6ImH6sAkI6M9yPqlxAN9VQCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16932308},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"38363165cf86fb8122284b76a3e1471e1497f5aa","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.15_1777900896606_0.6659010669095584","host":"s3://npm-registry-packages-npm-production"}},"3.6.16":{"name":"@getmicdrop/venue-calendar","version":"3.6.16","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.16","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a550c25ee764777bfb020048f4cd86170571ccba","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.16.tgz","fileCount":57,"integrity":"sha512-6TADfzpaVXY8bqRrOsRyZOz34swGwqduBaCszxfdO2MUN7/5edjxQBPrsiFooLOP7UzVj6Sc12X8/oMp96ei3w==","signatures":[{"sig":"MEYCIQDIPTCLeAFuzvG8fktjDhW67VWB8NbI+vII2XD8uSLEdAIhAOLoOq0LWxii6Q4+S7PNs5lNM0r6XsB0pkLegclXr02q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16933421},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"7cf619bea9f744173912cf8302202b58562e5d40","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.16_1777902413914_0.6923331291578876","host":"s3://npm-registry-packages-npm-production"}},"3.6.17":{"name":"@getmicdrop/venue-calendar","version":"3.6.17","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.17","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e0d84195534786b4770b507688a38b9b651e480b","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.17.tgz","fileCount":57,"integrity":"sha512-iBGad+aswhWWAyuZHlaBpf3nN7gpHmOCEcHn0pbxefoo2SyxeHANcDNJsj7sXq01Zf44Qige+lOJ6W4zJuPfpQ==","signatures":[{"sig":"MEYCIQDRJiWOd8JvXE1ekRXNKLH2U7WBV3EhPWEWjiE7bi+UogIhAJ/shy40gmkD3jXYBBBylpCXouh0KUXHjfK+bthD7M/o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16934217},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a39418efa1ba590af41658aa439877f0cb7aa94c","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.17_1777903611274_0.1931299404475355","host":"s3://npm-registry-packages-npm-production"}},"3.6.18":{"name":"@getmicdrop/venue-calendar","version":"3.6.18","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.18","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1c8999e8dce312bd32daf63a9aaaf6f74161085d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.18.tgz","fileCount":57,"integrity":"sha512-7pVZnX/zyK6AE5ymSXcWyMcaQw5V4+h0+R4hf3TI8eXwCejMrVRDjX5RV2UAfEdrBn/LXpv+B0M/9V+C9JXNmQ==","signatures":[{"sig":"MEYCIQDYUlMo5qPninYa/c+hdqgUilY2kpej9ValdzHfun5YpQIhAJW/dphnzHhgQrWYJRn9S9Ks5uvqRUQRdtykxyxpZ07T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16935009},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e9e470c76f5b060dcb245d5f46e91cdfc44d678f","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.18_1777903756255_0.6833299281392904","host":"s3://npm-registry-packages-npm-production"}},"3.6.19":{"name":"@getmicdrop/venue-calendar","version":"3.6.19","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.19","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"05e7efee1b485b27ba495ceea237f727dcbb0d2e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.19.tgz","fileCount":57,"integrity":"sha512-6inZk2n291Ah6a4fJMk1hGM3qNkgrQsAQ5dpJDQJ4tqflHRegZ9blZEamoYA0zOvuKEkIEn3U/Qx26khi9UdtA==","signatures":[{"sig":"MEYCIQDPXK4wdT7I2oFuXt7RaIQyPKOJfJOUvuAhHk0boyWzCAIhAPk1wWmZCCfhHv7d0pjHdYiX9A4XjsCDHB/9Sg8r+hBt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16931889},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"05f9279f8e8df112deee5d4177f0586516afe77d","scripts":{"dev":"vite dev","lint":"eslint src","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","test:watch":"vitest","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.28.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.19_1777907062445_0.8926356768301704","host":"s3://npm-registry-packages-npm-production"}},"3.6.21":{"name":"@getmicdrop/venue-calendar","version":"3.6.21","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.21","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"cfb607a391dae3ab575924aa7af09a915b6e7e4b","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.21.tgz","fileCount":47,"integrity":"sha512-l8jf9EC99IVc45qjpOktIFHOVHZ5H4m74/eQPH2YMffKZf7qixHvIB/xcxV7AeJvdBlBNigeS70ZaW5o76QlpA==","signatures":[{"sig":"MEYCIQD+8f/AuH4Z0/EHsZ+Gf+j/pRiuR0SvqW0ARH4j0nfPjwIhAON+uQrN67dVBRtFVKsVpdHWtVobgWjfVEQONvOxKJpW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16938819},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"83a8fa1161650b1e441c4e2aebacb0958bef1a35","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 3","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 3 baseline warnings — drops with each cleanup PR.","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.13"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^5.40.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.21_1778300515394_0.7251593667962672","host":"s3://npm-registry-packages-npm-production"}},"3.6.23":{"name":"@getmicdrop/venue-calendar","version":"3.6.23","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@3.6.23","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"07fa9b8ecd1ab4a34a29db6ec6ffd65ccdc20ae0","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-3.6.23.tgz","fileCount":57,"integrity":"sha512-KhgNZOBBrFpMr9JKgYAN+hFB8FrhY9r69YN4E4M3hPrE789VFUH/ax8IbfWhCG43cPErDWC1a1hZ+xNP7Jc5gg==","signatures":[{"sig":"MEUCIQDu9MwkcxKsngzYPX4T9WIYcYBLDuHo0oKAw2pUurlswAIgEgx3hztnSSa2Ompuw1y46xlMNdKNbDP1axSBsF7rfFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17523188},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e771940504f5cbb6d39e859c11bb026fa9776abe","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 3","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"svelte-kit sync || echo '' && husky","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 3 baseline warnings — drops with each cleanup PR.","prepublishOnly":"npm run build:all"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","esbuild":"^0.27.2","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/venue-calendar":"^3.6.13"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.2.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_3.6.23_1778472950493_0.6569233976214004","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"@getmicdrop/venue-calendar","version":"4.0.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8b7e39142787b7d9b0cf7e1db28a0edd796fff53","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.3.tgz","fileCount":94,"integrity":"sha512-9h8KkV1SR14v/KSC5/imAnUd3HuSSs2wTDJ+yYbLvg+WJ7QciXQQBZ3jmAtsdp6CT0zjjLwNqn1crNJe5rldvw==","signatures":[{"sig":"MEQCIF+W6xFwiGdQuP2wzxwIomJGmFoFhEInkn6Lte5VBpOTAiBGSngmdZAw/QuEqhUrq/j5f0JA9JaJ5sNzOYlyzuVT9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17414571},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5ebc0cedca2a7acf97a13ed306f59225aa32dded","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.3_1778856788870_0.69165625896052","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"@getmicdrop/venue-calendar","version":"4.0.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b64d09db12156ad6f325ce1762632846ef4b5b53","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.4.tgz","fileCount":94,"integrity":"sha512-t9ctviQTnAlNuLXED+kVjzxi/wq4dEGZVM0Q4Sh6Dq4/3jDx4+8JNbSZV6b1NyLTqb5JGiWBlkrIGstnyQVjeQ==","signatures":[{"sig":"MEQCIGWmCYzstiKPJX+FJD9eQ+ADRcoYqV27NImJS0hqQTwIAiBbvlGNB0M47qBk4pv/Yf1MI//9/5Hbr2Wu197YDKcEiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17414497},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c319988df10538b0877cd1d7b16db55f35a1e4be","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.4_1778982902505_0.7109473272827374","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"@getmicdrop/venue-calendar","version":"4.0.5","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.5","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"656e21cad404e76140aefbb2fc9dbdbb8b89b028","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.5.tgz","fileCount":94,"integrity":"sha512-iP8uFY4MHmqi/IcV4cKGVpL6AVp9Z5XF4FXnnWPklasBAZMW0MOI4DOIHqRwd1p7UscAD6pa9aBqW8UC39blvQ==","signatures":[{"sig":"MEYCIQCTVZwxJUGsn8pTVbcoDCU9xsQ/d3DmaHArhBXmsdx+1gIhALt31Z+Cf9N2Ag1y4g2ThQ1pXLX5/qJ0fdN7h1C8OfzK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17418927},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2a2f357ff99e8ab7caea8a9ca094e1e561751777","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.5_1778984967125_0.36735732408297994","host":"s3://npm-registry-packages-npm-production"}},"4.0.6":{"name":"@getmicdrop/venue-calendar","version":"4.0.6","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.6","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"57562710620579723b4e035b333b75f6178869c5","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.6.tgz","fileCount":94,"integrity":"sha512-DgyyJNjkOHWmQpAtmVMVu95RG6cD//bzIzNLFw54FPgnxOgTunmwbnnjEf0cCG4/o/9qtTGh5QRtUR1w1Yv0sA==","signatures":[{"sig":"MEYCIQDTpcI6kjrJmHeKRZrzYPc5XeEjSlgzQhpBzuKgaimDOQIhAIBrb2uhpmRc4qscEne85VJd1CkLdyxJKcSez2W86+Fb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17597288},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2a2f357ff99e8ab7caea8a9ca094e1e561751777","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.6_1778986442917_0.12081105396445468","host":"s3://npm-registry-packages-npm-production"}},"4.0.7":{"name":"@getmicdrop/venue-calendar","version":"4.0.7","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.7","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1dc1f1ae24903faf7637924f2a1b84cc4cbf7c4d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.7.tgz","fileCount":94,"integrity":"sha512-PDXWdkLvE+yS1aUmpP3RPND5reKczlF6XqpX6ipKseRx/gs/8iWN/q+0UZxk3C0XJWfzfiKrmOp6BOm9hj2WbA==","signatures":[{"sig":"MEUCIGOhWYU12OnVgPTY5NK9BE64nm7L9l4T0Bb7xtNT6ABtAiEAmBqKbzwVS4yAdFpj4ZVfPyHxXQq2/VDF0859ZiY3Zwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17597587},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"86683b8fbb258764b1da630ddc55839442e3c0c5","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.7_1778988875160_0.020864675587229486","host":"s3://npm-registry-packages-npm-production"}},"4.0.8":{"name":"@getmicdrop/venue-calendar","version":"4.0.8","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.8","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b92c76bee6c72658fba193e2a8d7200fbf61194a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.8.tgz","fileCount":94,"integrity":"sha512-3JNcFVxyl/8y/e6oEEBmScyd+Gj5eWy1o/UKBYPKi2pqVxekTB9RFeAQ1wvsfsxvL2h6e2CBiT+8da8ddur2Lg==","signatures":[{"sig":"MEQCIAv6DzUd851SmNEVyWEwdiB1a+bXJImfCCYgiKYC1mw9AiB1ONv37SSY8g32Na9vkqqurFL/AikGOzrZrAZVyT6Iiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17599797},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2408e7be7d9c61c565156fce9812e26cac6e0970","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.8_1778992873568_0.9516854269719728","host":"s3://npm-registry-packages-npm-production"}},"4.0.9":{"name":"@getmicdrop/venue-calendar","version":"4.0.9","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.9","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"af8dcf10e9c492f56e08357b7c0855566fd6a933","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.9.tgz","fileCount":94,"integrity":"sha512-8ORSARXhNB7xAhc25GoKXs0pfKZZk2tw50u9jP+sJ70j95CftbQC/ANSp9W1UMa1uwnFJj9Rc7fBAHWsmgD8eg==","signatures":[{"sig":"MEUCIEgCH92/mXvE0sEacJJSMVynA8oJ/wHzvfl+iWUWmuBuAiEA378KTxC5CmX4JBOVuuRbGCtyTZb0SEA8M+uoYFAVIfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17614036},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"3c849e49833a54c4de62e153c59574a70c81870d","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.9_1778996267730_0.49707669714835423","host":"s3://npm-registry-packages-npm-production"}},"4.0.11":{"name":"@getmicdrop/venue-calendar","version":"4.0.11","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.11","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"364f3bd07597016b3e841606c065d5a7a6d93c52","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.11.tgz","fileCount":94,"integrity":"sha512-U9c1dy1SbrhU5MLzgrPyZr8iFDgtpuu3SzG8IQl9iwLeu9pvgrHnuLgPjo/WM3lvFo5BnR9+/OrNNA737KuGhQ==","signatures":[{"sig":"MEQCIDzJnrto9zGVWUKrHvFqfI/t+GwX41uD1NcK06h/ugeiAiBfdqdyUs0b9sXrevPqg8Ya2s8biX92sb7MWkn5hBulbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17466495},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e3bb8889d0b08fc39abeafda55d387b86ca2d083","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.11_1778997002105_0.0820157172674496","host":"s3://npm-registry-packages-npm-production"}},"4.0.12":{"name":"@getmicdrop/venue-calendar","version":"4.0.12","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.12","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1a0b129cd62061d8f0f87ce8025a8841ff17b58a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.12.tgz","fileCount":94,"integrity":"sha512-Noqh7BWHr3e4hccEPkyS4+YckafR1N0zFv9eWhkJAopgq6116c507bvYoCTBpBbkgNsWQpUBYnXUOaA63632jA==","signatures":[{"sig":"MEYCIQCdQjCpbtxMKfErgt1tOdbRUOXXfzFzoYsR2lLi9zCjuAIhAOLQmZLSYhWsxhWhLs00CiOIo3zZrZakKS1x4jS5TUe+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17644344},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e3bb8889d0b08fc39abeafda55d387b86ca2d083","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.12_1778997487705_0.3297873152746791","host":"s3://npm-registry-packages-npm-production"}},"4.0.13":{"name":"@getmicdrop/venue-calendar","version":"4.0.13","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.13","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1c74a70bceea6bec037f1562bcb408035b44622c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.13.tgz","fileCount":94,"integrity":"sha512-ZMkdVWr6URgrpiSdh+7jRvYV2tqreh+SIOTuuTTIv/dZ43C4DNxKULdZRLXJI39Cmv9Uhdc4BgbRPUCPsMnlvg==","signatures":[{"sig":"MEUCIFfqYHKi23vysvE7bWebYqZlQLnLGkmcoHivVs1ZP7oBAiEAiGhb03fRLJ/BK1/Qa+7/qOTdFIau3QqVMGTGoqPfJvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17474402},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2bb0a6d4ca2f45a9e775df7ada08ddb04de2e7e1","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.13_1778998565036_0.5201627145160799","host":"s3://npm-registry-packages-npm-production"}},"4.0.14":{"name":"@getmicdrop/venue-calendar","version":"4.0.14","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.14","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ebc2197dcca026fed43968c52548d0ef6e4b90d4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.14.tgz","fileCount":94,"integrity":"sha512-fSFmJT9TriFpDRSHI9OSmRc6OJcQjZSA/p9lP+xJ7K0t+APPbzMATp31J/UMedj7fIa9T30f6o6zwd06h5LGpA==","signatures":[{"sig":"MEQCIHgYNTPTBNN9ZJWZRmOgLfNg+CrxyqRxGehqtTIQ5hfTAiBxV6dDHyTjkixoQr8BTwNSdYbjY9kdMzbM/SWeN+6dUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17647679},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2bb0a6d4ca2f45a9e775df7ada08ddb04de2e7e1","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.14_1779000306000_0.8531698506129917","host":"s3://npm-registry-packages-npm-production"}},"4.0.15":{"name":"@getmicdrop/venue-calendar","version":"4.0.15","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.15","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"bd7e277ff143f6dae19287bfc946a4f7b075467b","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.15.tgz","fileCount":94,"integrity":"sha512-HfPgXZ1tpjYNn0tcuTNTyU5jAmppza80x+2qd1Qjb6UvlOyISCChpW1IoFmqPy3UFGJXGu7JYYTxBZra3gogcA==","signatures":[{"sig":"MEQCIBtjihiuUe2h/swV6Cov2vYuI44tZpWaQIpzAFqSWamTAiBEQtPXHHZ7AlTeLrukWKBiJLdays7Gz48Ma0tq4E8uSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17651325},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0eac873576de01f12401b630e614ba4b0621cc0f","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.15_1779027616895_0.9840850335721296","host":"s3://npm-registry-packages-npm-production"}},"4.0.16":{"name":"@getmicdrop/venue-calendar","version":"4.0.16","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.16","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"19c2635c19f2b7d060887d81edce03be0d681756","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.16.tgz","fileCount":94,"integrity":"sha512-cPFzw3XdfR0g31Qa0YYIwezlT+RISTK6SBQBpfsCPMRCITfhMxo2u28r42TUqxLab7y4oqvKOxy3OzJ1puVaPA==","signatures":[{"sig":"MEQCIG8oCBrTPYJy8jdNL1MFLVJfmPNhqWilbgahz+5jnXifAiBwWSEoPbS3mpaO3Lns75BpvsF4qEM81eULP2a+Qpx48g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17652625},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"de5619e2bc83a3bcaf1165dce7af9974e640f2f9","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.16_1779031105942_0.5046728529757942","host":"s3://npm-registry-packages-npm-production"}},"4.0.17":{"name":"@getmicdrop/venue-calendar","version":"4.0.17","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.17","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"09226879decdb28c0d132d1d204364c24bd81c10","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.17.tgz","fileCount":94,"integrity":"sha512-ca0NNQevx6JAIC0UH2pvbv3mVTi1ln5t8pMVUvjRABjI2B8yROlKPBVRrMQ3n+lTy/Nt7zMI//f2NQcuFD58sg==","signatures":[{"sig":"MEUCIQC5i3OkEVKrEHa44oOrxo4euDyvbCScDzrVuGaXBugt6AIgaDxDGrLO8AsMVy6ubcrAjivFLTx3l5EDsRAEShOofIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17682270},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f451c98e1b594488b336ef3a061cb826e0de33da","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.4.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.17_1779032860749_0.09474914633562181","host":"s3://npm-registry-packages-npm-production"}},"4.0.19":{"name":"@getmicdrop/venue-calendar","version":"4.0.19","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.19","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6914e63f14e99318838e6335d7f163849fb60b2e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.19.tgz","fileCount":94,"integrity":"sha512-+8RXMsGpI2rjnNaYuz4U8D6WgMLMnVIYRO/FNoyXODuk9Dys/r5FWJxUqVhjAituZzetvcci6UiYwCI0joQN2g==","signatures":[{"sig":"MEUCIQDmKKsD/LZQjEFo4hhwRcUENJ/RB5Oqbme9/8GwC7goXAIgPhDhLVe82qkZfkMfGTZUqxFerQHKcoX5UGnPfRPMTrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17889056},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d036d86f4fb4f81d18821c105149515c6ce152bc","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.20.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.19_1779816005954_0.4935586251605062","host":"s3://npm-registry-packages-npm-production"}},"4.0.20":{"name":"@getmicdrop/venue-calendar","version":"4.0.20","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.20","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b4443fb24c3748a6aba5b06a48cdc64e4afe164c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.20.tgz","fileCount":94,"integrity":"sha512-e1odgr5byCSZTOm7q+HoCNFqn0BYn53clPPpNnCBz3toT2ttfud1icrWSV91xJ1piereAFYLIOsoakMEf3mTSg==","signatures":[{"sig":"MEQCIHGIH8S3O4FzmvIaVNcKqrL/fqYGsPsO6ZjureCYm/3sAiBB9POYFJrt4lfitqT3Et5weg9rSpQSEZwC+6WRep2CqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18016216},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4ee1fcb64789d5984e60446136131547b0eb322b","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.20.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.20_1779822977012_0.6241119457193403","host":"s3://npm-registry-packages-npm-production"}},"4.0.21":{"name":"@getmicdrop/venue-calendar","version":"4.0.21","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.21","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2da7bed998ac7e5a31c0a2976ecb72e95aef7dd7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.21.tgz","fileCount":94,"integrity":"sha512-M0S2/CqI8atjESe/jNj5C41d+1uVBPTZSYbzUXXoZQuoKL9D/9CtxDnKcK9VjOPrYhQjrsO2UTdSE2MrZy5vhQ==","signatures":[{"sig":"MEUCIH6sP4E3EFEzucbMNvhRhwFLx1hmgvwoej3it65oXXXKAiEAs+sYSC+o2JL8DTFaF7ms0B9CMtfyOTNhtYDSlFAOBCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18020962},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"704db20ceb2aa38e3688375803f99867c9f7e3fe","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.20.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.21_1779825453231_0.3976223395857561","host":"s3://npm-registry-packages-npm-production"}},"4.0.22":{"name":"@getmicdrop/venue-calendar","version":"4.0.22","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.22","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"38bd123c0521f797b470ebc412dbb112a7282708","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.22.tgz","fileCount":94,"integrity":"sha512-wnTXgMHcNAvG6xFApJf8vBsAntKHTYcHdhPWGtQ/8b/akqIGM7Gtyysu/Dus/1+p7dL5AFvyTclHMLEcs5xbQw==","signatures":[{"sig":"MEUCIAQBZSRSe7i6r3cvNvog8M4Pmko2/iSXoqp2QRXJ950+AiEArr1qCj2i7fj9geduknEh4FFhWPIvR409/swpuyB/tII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18021628},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b78502d0523498ce9be685a011e66391ed29da76","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.20.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.22_1779827067133_0.5226690579113651","host":"s3://npm-registry-packages-npm-production"}},"4.0.23":{"name":"@getmicdrop/venue-calendar","version":"4.0.23","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.23","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b237d8ed5e75c42710e28a6e4a6882c3287f304e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.23.tgz","fileCount":94,"integrity":"sha512-5m1V3sgdnSdsGNEZXL8XFPGBHlueX5EmGZgBXEcYQXImYLJXt3C5rLQEwjGfL5EoDVIbFIiVMB2VxkOvOwnFmg==","signatures":[{"sig":"MEUCIHRjO5xd/82mnPRuZQ32UQYdW0RNyQm+v2V4oCMatNuHAiEA7y0GJs1kjlxGwXFj5EDqL1tfxZNE0AigE5LoiuZsrVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18021628},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"6ffe644e1d7e28d25a362b748647e9248e8306ac","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.20.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.23_1779829232622_0.1071344666934444","host":"s3://npm-registry-packages-npm-production"}},"4.0.24":{"name":"@getmicdrop/venue-calendar","version":"4.0.24","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.24","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d4fc91ccb16333a8c934d9403e066a151594f414","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.24.tgz","fileCount":94,"integrity":"sha512-ttbjJYcl/Ljxu8UO2t2Nqp/bRE8yN5PLUXfGuJWcArfPy9cnN8A/geVmy7KzS1/HmI7fuDOYFxuvMqocarSRvg==","signatures":[{"sig":"MEUCIG1UEdLtQyVcWCjIN9o75QcQO7cZIV/klFo1P56lhIPnAiEA6dtBVfW91Drc1NUxxGWl3NkTDaEdnZBAqy+mlTwqNUE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18077793},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"37464eb59dbd59dcdad2a0cf46d99a4a12015f4e","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.20.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.24_1779837039357_0.7129986240954509","host":"s3://npm-registry-packages-npm-production"}},"4.0.25":{"name":"@getmicdrop/venue-calendar","version":"4.0.25","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.25","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c9575925824abfaf3d223ed31d4a3b0fbfb48d2e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.25.tgz","fileCount":94,"integrity":"sha512-wddtJmjo7f84DkPOZmYMTJWWBxD9/hkDmhiA8eyZExvlKL1lZCrE3bUenncTkmDGFymRzCtLaOxFLt2LnNA4Mw==","signatures":[{"sig":"MEYCIQDhS6+NF44gskC6UunX71wEkviJRr8mIm1HeUi0et2LcgIhAN3TKdsmVYFZMGVbQwbUrwC6Ri6qZ16LOl1mcVDKUmiN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18083448},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1d35ba47f54433ae27cdb8b582b9572b75155b4f","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^6.21.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.21.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.25_1779838732102_0.36404365164625774","host":"s3://npm-registry-packages-npm-production"}},"4.0.26":{"name":"@getmicdrop/venue-calendar","version":"4.0.26","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.26","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"df89f368bac5585b19740ec0d44c0f3ac1e13933","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.26.tgz","fileCount":94,"integrity":"sha512-Kp2p2AyJeOibiQ1NdXWQzdkVw124oneeBNzkSdI5nmpcRVh3zRo8lyA2PnTNMWwGuogd31S0+PBDxvMA8LfFXg==","signatures":[{"sig":"MEQCIHpQWhGSmDkBNOPkzEf2vPjbU8b66g9Ei/Mi3acPn7pWAiAX7qgcVCrd6/Zrwq81NZEFw6S1J44Crsnyo/E7/BsS3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18153750},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b1f37def4d7ac3c95aeaf4500a75afea0b4c19ff","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^6.22.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.22.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.26_1779855770214_0.5972586206696526","host":"s3://npm-registry-packages-npm-production"}},"4.0.27":{"name":"@getmicdrop/venue-calendar","version":"4.0.27","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.27","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8838e974437dbb90b03c093479ea4746f88e517c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.27.tgz","fileCount":94,"integrity":"sha512-bKSDG79Zs51ytQEWX/zDsfqTMGbnD9rR1XBD2yMW8+fqufyfXbPoIWsc6KkHJHK9kujvypQvYZXDOUJpmACj2A==","signatures":[{"sig":"MEQCIFBL5hSuxEXxVPWUpH1x/Kl6LzX2SQDWgsa9ntmLtPwWAiARUxZBYgQjoaLFl2SInzQ49R432V2uIpI6tKdkwGmcRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18164831},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"25a1eec3c4a61c36ebedaee5aab38a8f1de2fc2c","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^6.23.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.23.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.27_1779883748860_0.24015576274973216","host":"s3://npm-registry-packages-npm-production"}},"4.0.28":{"name":"@getmicdrop/venue-calendar","version":"4.0.28","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.28","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1b3aad7382f4826b7faa5d5f78ba69c70dde3e63","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.28.tgz","fileCount":94,"integrity":"sha512-Duk5TMhQ1OJelSYcTOVqfenxLTdN4rTE3IPPW8vhCj1K6Ox7iSFAbmVZ1RnMc7AM0s6Iut11q+z6C9qe4EukGg==","signatures":[{"sig":"MEUCIQCZ5/Xl4ceGjOQbNpROt3lm5tafMsxhogU3FIzVYlbPFAIgW4i2N3PK7S9lS867IeLh2iwh30wqEcBGCrx1BQdfsic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18179888},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"ea82f580ce08a6fd19292ef3049e79f9ee52d695","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0","@getmicdrop/svelte-components":"^6.24.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.28_1779885715029_0.13585409059324438","host":"s3://npm-registry-packages-npm-production"}},"4.0.29":{"name":"@getmicdrop/venue-calendar","version":"4.0.29","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.29","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a4b3147d7a4802d57b711d29ebe2a83a7bde3cc3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.29.tgz","fileCount":94,"integrity":"sha512-MJODyhg0criC29w7wjy6ZFJ+iFCOIwi5HZofULnjwByihc9wNzJTTT/C4hTJZaUgHw+Vu8AEmGXak3tfh5TFfg==","signatures":[{"sig":"MEYCIQDeBFbruNDbv7iq9fqqKmtmbwLeadhCJlBaytJb00Zk1wIhAIXpNw3kwY4b6vtAD4HLkrjBGbyYJS0+T2KBX2shD2cz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18181833},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b9c761c9847bd893ed56f1cff0857874c4baf2ce","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.29_1779895576528_0.1477492321877405","host":"s3://npm-registry-packages-npm-production"}},"4.0.30":{"name":"@getmicdrop/venue-calendar","version":"4.0.30","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.30","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"18259a8c1796cbbed4364d897946a9c9fea980af","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.30.tgz","fileCount":94,"integrity":"sha512-RNMeSuTNewXfA4SkaV81hAfS7wzA+fTNEUlUCW3dim/G1CeIbALmrOjL1hHcT2vgPicTfWCZC7TPIGRbwc37RA==","signatures":[{"sig":"MEUCIQCT9kJfaoOO7betL6C9EiSimcloOjvRFhPih4MFXViMTAIgenYUbNcr/xPAevEvKX+G3o9hZBHCcOgbF/KZbfnhotA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18182163},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"762fb01342c7ab652273b82beeed1d26ff6140c6","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.1"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.30_1779903052455_0.48914558675504716","host":"s3://npm-registry-packages-npm-production"}},"4.0.31":{"name":"@getmicdrop/venue-calendar","version":"4.0.31","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.31","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8f91868593a063bcdaefef29a85e825b12e91e97","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.31.tgz","fileCount":62,"integrity":"sha512-xAv8kxGIaudnMQpL7zJn6zNGgZ1LRJrFF2u4Vr1AdaEMP62Ync3DM/YRCipHsvVj6F3tC9qXh1Wnu9ltG0sCSg==","signatures":[{"sig":"MEUCICMy4viSbevJERtD37LBrR13fSEhgI22Erj+Oz5XuYkfAiEAzg8uTh4GFW/Ju+XN/WS8TE/fG9IId+dm00l9o/HuaFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18204064},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d7ed71e355b2e41eddbfbe28928f60a7021fa6e1","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.2"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.31_1779916408201_0.7831871149584981","host":"s3://npm-registry-packages-npm-production"}},"4.0.32":{"name":"@getmicdrop/venue-calendar","version":"4.0.32","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.32","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8c5d16526526b89764f7ed8b422c5326e572cf2b","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.32.tgz","fileCount":62,"integrity":"sha512-Fe2IB9x675W3Jy8BMDhnOzTcK74CrOxr8cfVH5c0LLD8rIFhzBU2NWn4BD/qN71skAAJ/MVurd9dfl0sAanJXA==","signatures":[{"sig":"MEYCIQDKn1AZkNWOo4t0mxP08H8JOLK/lVciYwBEQlMs2WiEAgIhAMFbADeobKe90tX5zdcw806x8kzPc5TiylRelrTyJ6sS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18204700},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e5897ac58f69d2e72ca681a3c38d95c285c0d8bd","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.3"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.32_1779919153372_0.3256154616213647","host":"s3://npm-registry-packages-npm-production"}},"4.0.34":{"name":"@getmicdrop/venue-calendar","version":"4.0.34","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.34","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"48c13dd74e679c3a66c4c9e13f4f5cc4577320c2","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.34.tgz","fileCount":62,"integrity":"sha512-v+OBT/Gd92u/gbib15QUgk82KV3UDPERRHJ+Bhv1kj6sqOnURgYZAplSAKPSl3TMmPnb3zPTF3yPWgA37y+29g==","signatures":[{"sig":"MEUCIQC2Wc8r5BUprtVwnFHqVlQsGq6QKy0QWZ4wkdkQdENVvgIgDKanv17BvwaDziyQ9hw19BGTb2GQh8Oa3CuWt1hZkFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18208289},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"028345a14bb1dfe70c872ff04cc39b3cebda8bb1","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.34_1779942390077_0.25169776739512395","host":"s3://npm-registry-packages-npm-production"}},"4.0.35":{"name":"@getmicdrop/venue-calendar","version":"4.0.35","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.35","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6755552878249db485a6783fad17de049cac43e6","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.35.tgz","fileCount":62,"integrity":"sha512-9mlcdOBND2pEQkeKY5xhJo3keryUKC9QkL0sEGvtzdbL/7ZJXWaOmIrQhsPVUN+toBp7yeuV6QqL+hJcG3ZVSw==","signatures":[{"sig":"MEUCIQDjY/xQh4pRoPOxIZIbdLQEfpMy3PtQKemRPUHGWh7pqAIgG/n97HiMwT0NJ5m16aI9gxW5xZijUcZWc4KxRlwXO8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18210136},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f0511e486efb9c16f888c493bb8f7b521182c1aa","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.4"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.35_1779945417023_0.40542346639968785","host":"s3://npm-registry-packages-npm-production"}},"4.0.36":{"name":"@getmicdrop/venue-calendar","version":"4.0.36","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.36","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b16ddeecd2b710e72710fea0fefde7cd6fcaccf8","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.36.tgz","fileCount":62,"integrity":"sha512-eCyEklqqqpkjELdo7/2cusOZ2Lh0Cv+B+8nWJ/wBMa1WnOfXx7oq4hrR2daNP3MmSXUcV651+bPJXtqGgkzI5g==","signatures":[{"sig":"MEUCIDBO1QNzni4VLZEHAIPR1ynJ8RYouFpSrcF4ojwgL9XVAiEA/fk6hxqDVRo1nnkbhvSBGwmDTTFY0olZIbO8Ra/jlkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18246050},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"9a4fce1478a61d9e4e51c9be2150760bb063058d","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.6"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.36_1780038056222_0.2613160520444826","host":"s3://npm-registry-packages-npm-production"}},"4.0.37":{"name":"@getmicdrop/venue-calendar","version":"4.0.37","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.37","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"7eda6e3b1a13b773b413cb0f81ae4f8bebdc3627","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.37.tgz","fileCount":62,"integrity":"sha512-lgsJd6L++yXDXznRKAMTeIGfMGkHMnmYmuj4qWPtB3+Eau+uA21sj7V4I3sXIZGXu0Lu1tVVF26jPK9b96j1sA==","signatures":[{"sig":"MEQCIDFG9/ldWVyC9lJTCA7BbR4QXRw8lTDj85RbF9DLo2oOAiASYs4zzX0gjkOWY6VXfOnF0AddhtxeVuUqylpFdtMrsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18246374},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"04f02d9eacc24ad78873ee14eb7805488511cfb5","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.6"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.37_1780043170647_0.5794507186416762","host":"s3://npm-registry-packages-npm-production"}},"4.0.38":{"name":"@getmicdrop/venue-calendar","version":"4.0.38","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.38","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8ab16f256a329e537120fa303e94c360172c3542","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.38.tgz","fileCount":62,"integrity":"sha512-B1GbElyTKlXpG3mUKy9XnfbrtWHOUQVgLIsy/1YKWHgiwXxORguSUuvZheCCMNuFGNoplmqd25fnf3XFqku9/g==","signatures":[{"sig":"MEYCIQCAM1eMWgGR9MoMV/hsgYIel05dJKv7KQScw9ENxfj2OAIhAPl9uZZ/LaQgrO542mvO1XGAV5gy0QIEtiFPRqb5dGGp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18251861},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"65ebcb49197ac2708799b313bd2ef59c2041cfba","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.8"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.38_1780075599088_0.36508450405916393","host":"s3://npm-registry-packages-npm-production"}},"4.0.39":{"name":"@getmicdrop/venue-calendar","version":"4.0.39","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.39","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1361bbd0fd3aa6cfc9135e9869da134cc45354dd","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.39.tgz","fileCount":62,"integrity":"sha512-uxyBNp8U/tVi+819tbeTJTobsQTsjZaYwz3kRGbqFOpM2pzEn0WNvqEtgshDdyabdYAvlkfyl98TE8/+23fyow==","signatures":[{"sig":"MEYCIQD1e5Yhspfhz1kzYCtWsfSV/BKIlHJoeOaCLli75O1VPgIhANvqYmBx5qmVRuWyIdsjRKm0hebR0kRNNLOri3qzuAVM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19856546},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1c3eebe71199e6ee2d0207b6bf465efd1a173223","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.19"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.39_1780190803562_0.8325283500207794","host":"s3://npm-registry-packages-npm-production"}},"4.0.40":{"name":"@getmicdrop/venue-calendar","version":"4.0.40","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.40","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e59cc58f6dcfc2cc6d3427c4330b7745cd3634a6","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.40.tgz","fileCount":62,"integrity":"sha512-jtxt/GNw5RxuucY+RtzTaCqRQ+BGMgNxh0wO0AM3Jq2ylxIiOKP165emaPUtFq6LNUWM8xK4n3Q+rplUPU73/Q==","signatures":[{"sig":"MEYCIQDM+JANVGDdJK1EiUgeMrjCz/Am7gaubsuqPQhmAbnv/wIhANHQctJSKrsjEZ29QU2dvEu30WS43utqnd6Pdjdt1MWt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19940368},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"eb55648b84a77a47a7f5170c1714a2d5a6fde23b","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.25"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.40_1780212337998_0.14765349174561626","host":"s3://npm-registry-packages-npm-production"}},"4.0.41":{"name":"@getmicdrop/venue-calendar","version":"4.0.41","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.41","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"0377cc7d29563ddbc829b352ba23f16b8c0a6c84","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.41.tgz","fileCount":62,"integrity":"sha512-u+57OOInqtk1V90Ey0rrxVy493It0mFvshch1IuKV7dm3uzxX0cm+22EYqfB6vA1BKEBRkhJT5Y0q1yhci7+DQ==","signatures":[{"sig":"MEUCIQCcY3JFtv3TF5vzJzCphgOew0FEaLzZCS62r5wLkEY12gIgAYNSXhpBhmMPVCmKIFgkirZO0M3LeyAOD12TgIctEqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19984180},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"6cfbc36925e24dfcf279a4846d90a59742e0fa0c","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.26"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.41_1780226754003_0.058584640812378685","host":"s3://npm-registry-packages-npm-production"}},"4.0.42":{"name":"@getmicdrop/venue-calendar","version":"4.0.42","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.42","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e7905bfdb5045aeb5c747ef982448806ad801f15","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.42.tgz","fileCount":62,"integrity":"sha512-6gKG97l/1zNCr/yKZeNUrK4Ktcw2n8Cj+RXa+WVc2p3yLN+uMCjKX7KZ4Kf14P5kJHxtEijlAnHRkvpq8btXPA==","signatures":[{"sig":"MEUCIQD2hWftDpzxZcCYpEjxJ+bkxLiZVeBblZOF+FcqdKgijgIgBTt3HF0nhxz82SuFk2PojNmYEIp0Iwe/0zxs+u5oQHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19985305},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5754e89ea4ddb321228d2a9bc926568a113215f7","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.27"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.42_1780233942278_0.5594922285319899","host":"s3://npm-registry-packages-npm-production"}},"4.0.43":{"name":"@getmicdrop/venue-calendar","version":"4.0.43","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.43","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"616c879487e17efe521955357bbd729e1817c839","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.43.tgz","fileCount":62,"integrity":"sha512-eRMiAmB2o1zE3W1Fw7MshSBcQ1LIAS/5ypMq50Ou1KkXmjYMzJAOQ6lyVdDmidovUg5Ow2PUoKi+zMGRKM0cDA==","signatures":[{"sig":"MEUCIFgAW/2KlHIUWrP825zOVy3eBiGoiGX+Q9j7SYsMNaK7AiEA95azZAthHV95rQxx4sz97s4d8ZnP3x/rC0zPUhMjtDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19984799},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d0532fb6ab3e5bed4fe2bf6858d9392b46e31523","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.27"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.43_1780237536761_0.34360396891906153","host":"s3://npm-registry-packages-npm-production"}},"4.0.44":{"name":"@getmicdrop/venue-calendar","version":"4.0.44","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.44","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"06eee0d36de07d11a647aa344f82a2f365abf7fd","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.44.tgz","fileCount":62,"integrity":"sha512-HT4vRRoTl7eM74E6o/+YM1glMyy2p7b/J/kAH5YWuPUk9/ns3YhfeCESgCEeP/J/4f8lRBCBnvG94F1pgw5J+Q==","signatures":[{"sig":"MEQCIFLUcEaHIaMYaVrhfbEZqlSeJX5cLPoJfuCyxp9tPPo0AiB0+ZGpH08PGYJtJLzcuot9FkGZ8qn1RT9Ux2avacP2Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19988084},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"bc1fc8c371ea4918d28decac19fdfaa72a265c1f","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 270","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Phase B.3 ratchet: 270 cap (was 50 — bumped to accommodate ~213 micdrop/no-hardcoded-hex hits surfaced by the design-system-9-of-10 work). Actual growth is gated by `design-system:check:strict` against the baseline file. Drops as the audit drives count down.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"650 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.28"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.44_1780241183902_0.420091165979507","host":"s3://npm-registry-packages-npm-production"}},"4.0.45":{"name":"@getmicdrop/venue-calendar","version":"4.0.45","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.45","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"73e29f485456ef64474bf0bf2dcada12fa59f3ba","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.45.tgz","fileCount":62,"integrity":"sha512-zULpI/iiNQcSADyNN7wqkbWQdpMUPHcV3MjYOzcAIK56YbG/WmAL0qgbDlvXSMkwHIvkZiWJFADBKPatQXOZWA==","signatures":[{"sig":"MEUCIQCzZbLXhvNkFpamp/61Y3iq9h0mKn8fEEfc/rIqz3XkHAIgOGlizIIpx2i7yMT6Q2oYPv8ydxp5cdQ4UtN9hFxe+WM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20020698},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"95070c4bc30c6bf30af26d6ebfafdb7a83196aa2","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.29"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.45_1780262779059_0.6403172420457501","host":"s3://npm-registry-packages-npm-production"}},"4.0.46":{"name":"@getmicdrop/venue-calendar","version":"4.0.46","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.46","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"154af5fcafeb55b2a4e35877d5f3e8cf28ef9ed2","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.46.tgz","fileCount":96,"integrity":"sha512-bnYtcAmtTWejZR+hmuCYB6DSNJMRPnk8lRhrlS36l9mzvgMboJDKyNl6oTlpWAzsqVfWHwMcKE5qjJgtVrjFnA==","signatures":[{"sig":"MEUCIE6mkOONoBixSkr6AS8gC9daGt/UrzdXJuKswue5LUXrAiEA7r+a3bPiZgBP7FUuy/+XFYECCHhFoQALOPfiyTrNTxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20029638},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"73ab4305087afeccae6b80061eb6d938eb477456","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.29"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.46_1780284759674_0.9417686233136189","host":"s3://npm-registry-packages-npm-production"}},"4.0.47":{"name":"@getmicdrop/venue-calendar","version":"4.0.47","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.47","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"011a2f753b969d1c570973d5e5424a070b82a540","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.47.tgz","fileCount":96,"integrity":"sha512-9X9ROQvYnm9C/qxfCNQyNPQTyKgTGD/uAg0Uey3DRp0m78izOnOWB6cHCJNJkdsgR4XfkGugwuE8ZeDkBf/ZsQ==","signatures":[{"sig":"MEYCIQDsmPPxffEYHtU8LcA6GTg0oBMOQSx3Jd2T8RS2kQ/BCQIhAOgn0/mosc/1h1IZhz/CMHrBuPz2KN8yWrNHWUxzAKKv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20030166},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2208242d04ba7c18582c66ba18c7ca9c044fa61d","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.29"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.47_1780286102118_0.526427447210031","host":"s3://npm-registry-packages-npm-production"}},"4.0.48":{"name":"@getmicdrop/venue-calendar","version":"4.0.48","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.48","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2c619226d6fbc4f1b3d4bd8da78214617a34f32d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.48.tgz","fileCount":96,"integrity":"sha512-KBI7zxjy8pGQJnDnfjqY7vQFsxTQUV5/3ilZqZgo3w6YIFoVORIm91LwqhiF4ktLsD43UywvLgbogVZ2WWj+Sw==","signatures":[{"sig":"MEQCIB+W8u7DQwHaJWRONKDk3xncTxx59zB1RCQDs/3LMV9mAiA+K19usv9s2lDSdkY5xssTPeTCmkIpAPditCZy4x9YdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20047945},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"bb76f455de2e2af679689c3cdb1bd97311f1fed5","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.31"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.48_1780287942501_0.08362469210567869","host":"s3://npm-registry-packages-npm-production"}},"4.0.49":{"name":"@getmicdrop/venue-calendar","version":"4.0.49","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.49","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"38261e2ec10c070cfa1f654055145775d17d6286","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.49.tgz","fileCount":96,"integrity":"sha512-yGzgN30o5fJGAec5s87VvJd+Y/qcNkxd6N+b9Azd5p8wWF1WnzKZTi8eXiKsg8nhEzk5BlceIIfi/CA4kQJU0Q==","signatures":[{"sig":"MEUCIBL39eBIekVSD/jc4n7t5FWaOpoOgPAyW3QGcFfxWvSgAiEAmuOp1wLMuU5oAe4i2rnFiXDrYcJGUUHs5r6nXzGsDdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20054908},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"62db6c1c2a146ee9ce617a8fd1ff2ccdcfebf533","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.33"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.49_1780291281487_0.5190247496715013","host":"s3://npm-registry-packages-npm-production"}},"4.0.50":{"name":"@getmicdrop/venue-calendar","version":"4.0.50","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.50","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1cf337dccb8ea84d0e79860343881fc15be8bdc0","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.50.tgz","fileCount":96,"integrity":"sha512-XSQHf1YnQRYpdqgeOI6/DVsoxKE6Qpyywy/REkOcmhRUkKb/nhoSJWN9aedAEyL7IPwPoXlSmAqu5vz51ySEig==","signatures":[{"sig":"MEUCIA07P+HjZIjkHAsf0AH2tFmOh4YrHmB5++89z6HnfGtFAiEA1/Ww4kuGH5HsjPYkRit6zwbCm+CGe7Q/hwqdfEX64qM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20055481},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2c76bc31754fe337080fd0aa400ef410ce68bafd","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.35"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.50_1780296795831_0.20833474347220204","host":"s3://npm-registry-packages-npm-production"}},"4.0.51":{"name":"@getmicdrop/venue-calendar","version":"4.0.51","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.51","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5e7f2ecaaa522e69c9c4304cb26712c03567f119","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.51.tgz","fileCount":96,"integrity":"sha512-zTnoIgFOCDmRWONCGLMxqLHzhuqJU8KHJAaZr5O5/rMd2PMwrOY3Gvtmen7u6apD+kN7QcJbe5T8teS2HgN1qA==","signatures":[{"sig":"MEUCIQCrhURESBL0yAcyRhaEIb7IoiyRogtbDRZWaB9IuZfbNgIgG5LuwAz0Ap99JMKQd/EGOyfAGe61zKGA9v+QrnVKD4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20055481},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0921571ebc276653317cabaf45d3b41fca911abd","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.38"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.51_1780304027450_0.9085372673201519","host":"s3://npm-registry-packages-npm-production"}},"4.0.52":{"name":"@getmicdrop/venue-calendar","version":"4.0.52","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.52","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ba3c84018b48bdb9d02e0a0901713fda8c4014d3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.52.tgz","fileCount":96,"integrity":"sha512-p+WeTbaFMdFbAKXQrnXtHCBRuTPWMfdjy6yYnQ0+DXRnclUrzyMVY0OIiubEf+/G2PZy76EhAU5eHrBhe3TIkA==","signatures":[{"sig":"MEUCIDZiG91Oul18qSMSuwRDsjvKsXx63AYQrM+mJdJJtaqzAiEAwnVix6hfok73EGXOpY69S80yuYt2aMa8cpD9YjqvyJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20049186},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"77121ed3f0a218705bc020f2ce9f7909bc4ce11e","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.48"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.52_1780356125978_0.07920062110062842","host":"s3://npm-registry-packages-npm-production"}},"4.0.53":{"name":"@getmicdrop/venue-calendar","version":"4.0.53","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.53","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6c3323d7ba246f23d85953cd4755221667ab6709","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.53.tgz","fileCount":96,"integrity":"sha512-+M5RY4s1QIM6hckAer+k4C+FjKvmtPPoU/j6xSgQoPXIXnuhEz5/bHQf2/VXaJ9D6mo3SWqj/LjEYJKjEJUFsw==","signatures":[{"sig":"MEUCIQDSioYF+AFpTqxC+94fDFGOiVeE3zHXo0XQEjm1aX6llAIgDywS47HLS95y1+kAz86iy3iHJbqiC9Haok0KzAG3G58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20033991},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"6937ec3fa91dba96ef7bc597af34b327f14de7cf","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.48"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.53_1780361565976_0.009255404504204812","host":"s3://npm-registry-packages-npm-production"}},"4.0.54":{"name":"@getmicdrop/venue-calendar","version":"4.0.54","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.54","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ee1e7078cab2d47f0c85f59636d092c9a454bf80","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.54.tgz","fileCount":96,"integrity":"sha512-+r/1LwrHtzSRL0mmmMFGc6fD3c2WkJDo8XBcXEsS8ZbmT3fY/DkSPZJhe33CCuWx3EF7a6qOXLXbsasw2JaVEg==","signatures":[{"sig":"MEUCIQDw+chJBZlkqPTSCGVmvBC34WoxsBNmE7nfxDPwulYRrQIgWe2e982uouXbS5azY45bUKPWP/+mWBzVN7HFS9FefBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20036469},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"8920a10ecaf1a3de95e3f60b8a5e2cb1095362a4","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.49"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.54_1780363388332_0.38854815556003275","host":"s3://npm-registry-packages-npm-production"}},"4.0.55":{"name":"@getmicdrop/venue-calendar","version":"4.0.55","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.55","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f94b27a4159a29314b762757f1fc3e88f5ec44ce","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.55.tgz","fileCount":96,"integrity":"sha512-ljZacPIoNv2ph3ife1Ep85TfH/UHUhL4gvgzkgkCrbDWTIf4ueHa+nplpixMNJo29GvNI6Jsrr+gGQGUnMRAxg==","signatures":[{"sig":"MEUCIQDEMx6PZczUmzOWsLXyBcsN04KSdJZ/9xMRWbZS2ZzNEwIgeL0xtQ4poElUDA/V4rqdxW96wkLhHUs8/lpl5XCSC/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20021402},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"490a0d985c44bc79aa60787f87405e7b75250914","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.49"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.55_1780366921278_0.422329728971061","host":"s3://npm-registry-packages-npm-production"}},"4.0.56":{"name":"@getmicdrop/venue-calendar","version":"4.0.56","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.56","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"dce80c28474e4da1484179150e0a0e6afe2894d7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.56.tgz","fileCount":96,"integrity":"sha512-xcyoUNZ06RZ83MI81oeZ3laxQmQR1H7hM/hXJxzeVcvL2dWnMKXQwhbShN+ZUD7LlGNek92DpVZ1ovmc7YpfRQ==","signatures":[{"sig":"MEUCIEbLJ2asN7LWfrrCJ4vtVOVkaL86WRP1ZVykOfjIh6tIAiEAh+HkkIw1Lc6GROFueas6g2js78BZD4sJbA9v1UUZibU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20021861},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"7d635018a5cbadd234c2e8a79034d7c4692dbbef","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.50"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.56_1780372323184_0.7269876437358629","host":"s3://npm-registry-packages-npm-production"}},"4.0.57":{"name":"@getmicdrop/venue-calendar","version":"4.0.57","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.57","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"59baa18e513f8f69313dc48d383cb30fe7ae764e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.57.tgz","fileCount":96,"integrity":"sha512-0G0hfgiDSWmxg6G+JvQsdoXxNJnrbDNPhrlfdKTqW6e0uKDb1NaVIfZmlH874Ovj6uM+NlKTgOY7lFYfZazRyg==","signatures":[{"sig":"MEUCIAuA6G2iXV2bdxqbrkGyo5OweUt/XRHtV2u+5CAkTIQmAiEAsboSPEhln9W4Zr1Y1zhlnAomQJU8pvOy1whl0QeXxq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20024630},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"cba061ecc6f596953d330dcb5ba63d99c1fe9228","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.50"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.57_1780374137226_0.7316378814564863","host":"s3://npm-registry-packages-npm-production"}},"4.0.58":{"name":"@getmicdrop/venue-calendar","version":"4.0.58","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.58","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8ff269d5d5a6337f5f50abd23830f3636ea76efc","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.58.tgz","fileCount":96,"integrity":"sha512-wwy/jWTP7kHyQebEg4iWWiBXtkFC3HFXfFNPZ46LtxhwlHlb9P/PLZPukEtaE1V+vr9eocT21oArjlJWmD4SIQ==","signatures":[{"sig":"MEYCIQC6hWqzcj4tX/1OFmE4wT2FOCidgXGw12y3YA2/bKoJIAIhAOWOmrRbH4b+01Z+y6OjfyQ5oSsvGFeOo20/5/GJ0pT9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20026001},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e56cf9557f9a11042adb237ef48140f9fce796fa","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.50"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.58_1780375908768_0.3467422036831642","host":"s3://npm-registry-packages-npm-production"}},"4.0.59":{"name":"@getmicdrop/venue-calendar","version":"4.0.59","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.59","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"36d782ebbb422fd339bb483e32aa910e494c59d7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.59.tgz","fileCount":96,"integrity":"sha512-TYWZ8767KWfVijVbGYHDLAWoYRQRvaWXL4tvbQTvyl+QX84Iy38MoYEQhtpUkv4UeLx+F+7USziQPpV2VlMwBg==","signatures":[{"sig":"MEUCIGitjaTjbQjCDcn7Z90x4PeRZx709qV+DyNcJuOlKUvTAiEA4ROPZJseHKkVIatbSq/JQkDRj5TZ/v1RhTt0KwxtDsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20026001},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f6c9579add8fe4461b80fa6ffe36d57493d1e407","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.50"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.59_1780399320794_0.7632206160187847","host":"s3://npm-registry-packages-npm-production"}},"4.0.60":{"name":"@getmicdrop/venue-calendar","version":"4.0.60","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.60","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"745357bf107af42f78fde973263d18cb81b2ea9b","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.60.tgz","fileCount":96,"integrity":"sha512-um3Xgkufhizh4dT51BV+IsNQt2ITafof7vz0KuwK3zPaeltZdVNyMcVlCO/CrIUSxS5b0FjKv5TYfAo7821dWg==","signatures":[{"sig":"MEUCIQCh1a+QPHua5mn6vy+qUuVCZFeSpPXcw3mGKn5S1RV9LgIgA5Nfs2m2x/Tj6woEQHWm/peTMbCwZ0IWk99U02unmUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20030189},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0ace700cb86f768680d56423046c9a56e3fc0fd0","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.58"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.60_1780552358844_0.4245790806022727","host":"s3://npm-registry-packages-npm-production"}},"4.0.61":{"name":"@getmicdrop/venue-calendar","version":"4.0.61","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.61","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"57f2554471ac4b307db67a30d5cb3ab508946d50","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.61.tgz","fileCount":100,"integrity":"sha512-2HCOd0b8FnegEyboUwkXdgmE83uaMCU5nTgMgGc2r2FcWnC+kSyrQm4VA9LK763k/7ghQwirSyY2YPyORm+MsA==","signatures":[{"sig":"MEUCIBCSUrfPuIvyiKESiuDX//PqO7kQQMPnmSEq4GKg3ZMqAiEA8Yy6gEaaS30NNzqsNwJ4QyNyZC2mx0W9GOAQoe7C3H4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19226973},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b17a240d30352806bcb520c09820094620df99fd","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.61_1780635615883_0.9719297019324542","host":"s3://npm-registry-packages-npm-production"}},"4.0.62":{"name":"@getmicdrop/venue-calendar","version":"4.0.62","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.62","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"af2d4bacd66d4cf6737c3306c0654327b51477cb","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.62.tgz","fileCount":100,"integrity":"sha512-JU0/rwIIgUCmXYEH/QWRs12aFbf6uvaRlNQGGmO8R2V62cZg6StQBaNNf+wluEJ4DWKa/16ULGQNNJv8erKjGQ==","signatures":[{"sig":"MEQCIHcaJXowL0vGPkRkU0KNsK5/orB3VLajvpIEkVHPD3KsAiBslfZyLkPqGsvT7cdgHvK5O0cldJecS11LG0wl227qGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19225305},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c8509917c49f79ed4a1ac237576d2b77f620f7e4","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.62_1780637129108_0.012101999827815568","host":"s3://npm-registry-packages-npm-production"}},"4.0.63":{"name":"@getmicdrop/venue-calendar","version":"4.0.63","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.63","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f83b45a45e98f049d4c26e7eae6f809cf6638b3d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.63.tgz","fileCount":100,"integrity":"sha512-UGE9WjWXJqUbpzf95Shloic9WTixLT7NjdK9siGXOV4F20sKbpQGRECQNKgX4psri0vIw1REujWS4zcEYWlb7Q==","signatures":[{"sig":"MEUCIQCFISn3bLLEbIQtHMOVzqGkxfZZ9pT+tYjJYK4sX5nAPwIgWyy6j2Qdr0go5PxnRvwUjkavAGvzFn6bRywFSpjJKxo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19234851},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"3d6526506e9fd232f4ccc30ec248e8fd6d76c20d","scripts":{"dev":"vite dev","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.63_1780638269855_0.30297384477039335","host":"s3://npm-registry-packages-npm-production"}},"4.0.64":{"name":"@getmicdrop/venue-calendar","version":"4.0.64","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.64","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"73231c7a182733d8ff1fb7480b72980bed901332","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.64.tgz","fileCount":108,"integrity":"sha512-INcW8pV1stRA1OuBzNtjRFIA1CTs6hpY0JLyrnl0XRDKIneepN9iL7mOqcpWmMQIOOiDsA78kl0LPMRN19aC0Q==","signatures":[{"sig":"MEUCIQDq73ARlssbe0PDxtGNWJN1x8DuesBvYzIqUSK9KgjBAQIgbTcSGyEYYJ7do608vjQz13+6lpFlolEbYFj9XDzOKak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19183793},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b3c2d16672d07f29471e72ee69ae3091ac8723e4","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.64_1780680495616_0.7518112309850553","host":"s3://npm-registry-packages-npm-production"}},"4.0.65":{"name":"@getmicdrop/venue-calendar","version":"4.0.65","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.65","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c0d9998c1db99c395252a1c34f21f3c871552e42","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.65.tgz","fileCount":108,"integrity":"sha512-AFW/h1FJBaX69tPjiL76xECakv8nyweFOk0Bh9v/3PZueK0fF+lNSUemiHh8vXHw+mT4+PTwaZ3H55iW0jOldA==","signatures":[{"sig":"MEUCIQCU90fdw7QDbLUF9Smil5TdVpkYXeqzouj5uUpOHe21eAIgG/l2GtAxzKN56o3DUoFSotHKakAS8J6dkhB0o2PAP/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19205325},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"ff760c941f4eb8e531e82296516b2167a2c169fc","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.65_1780713215067_0.09881206263298781","host":"s3://npm-registry-packages-npm-production"}},"4.0.66":{"name":"@getmicdrop/venue-calendar","version":"4.0.66","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.66","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e238cb5a85ed53c4b3d3a4b91b9b916df1735528","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.66.tgz","fileCount":108,"integrity":"sha512-+uAV9cl0I4H8vYw3pRi4npKf+2OlEOUyQlO0WbUIAOWSZc9ZypQjuHSeVmKeR+jlmtNCGlYRdR+cOUOALmV4XQ==","signatures":[{"sig":"MEUCIQDDr1/ImYRWYjxojjrTRbbOrloKnhw7cqJPVTHIU91Y2wIgBAZ9rtu9bYTm7cFiHxoWCI5OHo3B8MtJEGdRDjlpUxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19198305},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e20af0996eb9dffbbf9c28cb29a937526c5950a6","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.66_1780844944075_0.9623346637782928","host":"s3://npm-registry-packages-npm-production"}},"4.0.67":{"name":"@getmicdrop/venue-calendar","version":"4.0.67","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.67","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f98e80d02d1664b467f93b55af9f0409481ee9bd","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.67.tgz","fileCount":108,"integrity":"sha512-iRfq/RpSHyoR9akd0ZBdzdW3atDSzwrQKP6VL0uiYSzP2LBWh6nHX+HL5JaXhvBxrkiN8pQ2o8k3SpKmASn/mQ==","signatures":[{"sig":"MEQCIEv58QO35cymrETx/FWCq2XqzI4Z+Hkt8UvCqMKz6fq0AiBUkA/ccNQ8IBEB9lVbiz0KFeP6AdKlPoQNsfkoqQgoGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19203601},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"fedb3030c8786c6e4c67cddeade2982da7d0dd63","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.67_1780868577914_0.6544457066199136","host":"s3://npm-registry-packages-npm-production"}},"4.0.68":{"name":"@getmicdrop/venue-calendar","version":"4.0.68","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.68","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f749290384ac16936fb36629a5cf2027423bae55","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.68.tgz","fileCount":108,"integrity":"sha512-Ok/1+i+ploQ3xC9Xd+zttDr8DQjfeGQ8FHW1nTLO88l8EYq+T3aCrpedNIfO9mi2qlyWBldPPpGA2Ayx/Skq4g==","signatures":[{"sig":"MEQCIE885k+KWh1NdVRsjvAZpRPbuWgQN2M/KzZzT+3omRO2AiBoh3XiKOHM7GWDbgHLdAfToIC7d1MUeGvy+PbPSazwHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19205588},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"74787f43a76bd867fe9515e4f7f2f872ddc8709b","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.68_1780868848300_0.1398967555970192","host":"s3://npm-registry-packages-npm-production"}},"4.0.69":{"name":"@getmicdrop/venue-calendar","version":"4.0.69","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.69","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c3c6cd1fc7e898b910dff1f18da6cefbcdef8acb","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.69.tgz","fileCount":108,"integrity":"sha512-XEn9Aw3nxeO2bkII15gUiQVVWtEHgkHv6SCDRt/1T3ilBPW3sk0onRzh03U6OGXANKgTke4IbFDVypN5HpJosw==","signatures":[{"sig":"MEYCIQDVvEBJO3DXw7wEjI0rdlnqEiQrK8mFuwbGUSsCk0TFHwIhAJTCYVgdnPEbu9WdvIEWGsJZ0GlYMfHWdI2JkovRQu5y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19209322},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"56286643b342f7686d67352427f48e99833336c6","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.69_1780873862067_0.09190037179118504","host":"s3://npm-registry-packages-npm-production"}},"4.0.70":{"name":"@getmicdrop/venue-calendar","version":"4.0.70","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.70","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"cdef89b18e3ddeeca120aae7a28fbd560bbca6db","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.70.tgz","fileCount":108,"integrity":"sha512-VI3pkQHI2FekVoLYvbhbl6XrE3dbEcucQDDSt65bOgmRB+E6l/+hX4T7qLLx6D57NjyEZYmqUAvsH7Xk1r5LMw==","signatures":[{"sig":"MEQCIDbCFcpJzyC4+1xMdGtj453MiLQ/RZbd7o8eK83hHruCAiA21A/yzmtZm6ikxhjgiUdHk+yPuldG0IEglmIOuc0d8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19217867},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"05766c0b58b867d5f5d8fbb02ae69773259ad4ef","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.70_1780877921110_0.1268121278739136","host":"s3://npm-registry-packages-npm-production"}},"4.0.71":{"name":"@getmicdrop/venue-calendar","version":"4.0.71","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.71","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a756788873f3e96515c3efea33fcd50136a9ed85","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.71.tgz","fileCount":108,"integrity":"sha512-n6mcvGMuRd0mK5+xmatoXis9/y6ae/sEBKK/Q3603cr4G8IJsFNtRVvbjiML+Xl/t2eZ7kbEDi9G+xOEzdm74w==","signatures":[{"sig":"MEQCIHaNwX+IHv3Kb9qtrfFvcrC6KD9aovhmiKsQIpJDZCgzAiBYcoDKHKaoRWGZ1t71PP/EWchgKEdkoTQbbpKGE8XBew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19219456},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"6de0852645c931ce1fe8637d12bc78c4ededc893","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.71_1780881214645_0.8220773721302448","host":"s3://npm-registry-packages-npm-production"}},"4.0.72":{"name":"@getmicdrop/venue-calendar","version":"4.0.72","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.72","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"08bf3e1ecdbffeb3c84e0abab1501e14084ba32d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.72.tgz","fileCount":108,"integrity":"sha512-GuwsfrUevSiwHHiXuNaIIaCp7ymeisdaDipUJg2zH364U8x98ufFg1IC5LQwNUeqB+XVQ0rZiC33jTaCDX40JQ==","signatures":[{"sig":"MEQCIDQqmypnAQMv1EGpGA30fYaxTee6qeNCABu6rea2rBgbAiA301TGQDHIXYWwKne5LRcq2RDjGxyg1tWZVNv25xvSEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19230010},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f2b41513aafe429bc7d5f99fa7794417a01320ac","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.72_1780887028593_0.8310547311851866","host":"s3://npm-registry-packages-npm-production"}},"4.0.73":{"name":"@getmicdrop/venue-calendar","version":"4.0.73","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.73","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"87bb04fe5b35452cd476d91fa0e62382b4b0224a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.73.tgz","fileCount":100,"integrity":"sha512-MUlqAkBS3cIjWwir/J/IgMhBF+4/kGAXoEFDvsR11ZCXd4D0sJoq9SinmwBSO2883c0FvUZIFFXKuxT+Vmy53g==","signatures":[{"sig":"MEUCIQDwvaKCpCtXoLFanUkQs9QVOX6ZVWOSZXuuSqQZxxgsmwIgPAA+RLIjFkpQiIIeUMn1yugr38gSupjH/W/1puOBEDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18914141},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"103aebe9b928cf95f1745d6de2dc58a998d8af59","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.73_1780894197353_0.2745769037329808","host":"s3://npm-registry-packages-npm-production"}},"4.0.74":{"name":"@getmicdrop/venue-calendar","version":"4.0.74","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.74","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b7cbfc3bb0739108ae8e876f2733e61efedace87","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.74.tgz","fileCount":100,"integrity":"sha512-a4aoILXLPRJqhPT/hlCO0pofTSStrao/+/Ik/gbV02NFlm3vXCfirRhnPRoHvkIHCF61Rro0X5PlfXwwH2ivqw==","signatures":[{"sig":"MEQCIF/TcgFoSK8CzoJZzBWLh0uvGvqhma23YR0A7b7emeUtAiBP2QFaWgUfq3/OLYrDfoTI4oZw6rs23ka1e3Umd5JBnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18918912},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f160c21a33e137c2763909691c493e2c33b27637","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.74_1780897592812_0.13872800877100233","host":"s3://npm-registry-packages-npm-production"}},"4.0.75":{"name":"@getmicdrop/venue-calendar","version":"4.0.75","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.75","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"205b385a011ce81042b48c826f9a1f053332e3e5","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.75.tgz","fileCount":100,"integrity":"sha512-b1lwqG9fwCFFn0EBBkPVMctEFmqyPCJ1iGulYjsdmqhkhen3wg2pk1zUfI9pV4uPxUQAS59L/SWGdSFaKR1+bQ==","signatures":[{"sig":"MEUCIQCbB863o+tYOnl3gIILBnWtyw/NCR53cp38+wBTBLHDCQIgYHCXE2aSRbL3FMVO+R3HPhMyMF1hzoa/T861ac0ejb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18922142},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"10f9edc68407ba9227c14c3efcc0e98965245c8a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.75_1780899729635_0.1609503731973383","host":"s3://npm-registry-packages-npm-production"}},"4.0.76":{"name":"@getmicdrop/venue-calendar","version":"4.0.76","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.76","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e52a22598e87885de22f0ff3e2a9116c703bead7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.76.tgz","fileCount":100,"integrity":"sha512-ih94uCkX1Km3t9AUKnzTXKjYkgsfPCfRpsh47qeY67vDAfDqK6V1QJca2M782M/4a2AsX+F75xzkGMsGsedOtA==","signatures":[{"sig":"MEQCIERYWvBF8XIA89d3/LaNvMtU89IKitOwCX+EWIM9mCjEAiBjY4rZpmy7ZfuAnlS2FOGRCoqI0XjHJJUu9lXfG349nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18922265},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2917218503935ccf37ca0898e92f69256e967b92","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.61"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.76_1780928982878_0.8430175198209544","host":"s3://npm-registry-packages-npm-production"}},"4.0.77":{"name":"@getmicdrop/venue-calendar","version":"4.0.77","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.77","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c6024fafa25c8d963ecdeda87427d5d7b21f4dc2","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.77.tgz","fileCount":100,"integrity":"sha512-5yDNqrggGXujlo511lJWxoq8wCZPrJk17pTRjg7I6MVqYNuhVgo46ADcXge3rA7LEmUl/Ooo5IYuwQxGIW4A5w==","signatures":[{"sig":"MEUCIQCMrNbi5ICcurcVYItnHgUKu2ALL6sdIeyr8d+RHfIAFQIgECQnvF3qPaUg1x2299JkmtQulnLw+0UWh73ICVsg3Tc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18942840},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"88393912e1ed21846bfc33fb61da3d7dc952a2fc","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.64"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.77_1780946477738_0.9876769057474759","host":"s3://npm-registry-packages-npm-production"}},"4.0.78":{"name":"@getmicdrop/venue-calendar","version":"4.0.78","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.78","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"31187738114d630a972900e6be4cfdd4c91e399e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.78.tgz","fileCount":102,"integrity":"sha512-9uAZZOEH6QZ3pPfu/O4xwbYq6fuKXFHwpK/7SemoA1Ojt/MHHIBzHcuK+GHVMrpNpAeffIsDDKClI3Dg2zVQ/w==","signatures":[{"sig":"MEUCICO0xQSLGe7z6WgdvecPz6pI5sPMlHuZeoisUL2jLZMaAiEA45tZGN4XaWivJgvLR/nnql/wlvNscnFcNd/O9Zy4aTg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20234312},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5c0102506322d53b561004fe5854f9fe20e990f0","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.79"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.78_1781125194867_0.4212602899491813","host":"s3://npm-registry-packages-npm-production"}},"4.0.79":{"name":"@getmicdrop/venue-calendar","version":"4.0.79","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.79","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e2928173b9554b9c9bd8ea76d3bd35744c58adef","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.79.tgz","fileCount":102,"integrity":"sha512-IpeKKsh1jn3bMK3PZFrE4DbEI/K6waoqLhP3tjXWia+9CM0LgPT25yKkMX9spc49Hi136lIQjhw5/ynROzPwgQ==","signatures":[{"sig":"MEUCICBvaYt3WoFdha1KeYyaUOab9WINnenhYOfc1FUnWOnWAiEAvRlyvEvR8A5NaadCxIaQeM5aX2/a/qF807N54NjVNig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20152918},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"6107f9182063cd330e2161cd472e105b5c440e78","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 1638","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","date-fns":"^4.1.0","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.81"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.79_1781130866555_0.9195374075054616","host":"s3://npm-registry-packages-npm-production"}},"4.0.80":{"name":"@getmicdrop/venue-calendar","version":"4.0.80","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.80","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"4a9f8f0b5e9242484f917cfca203600e80438ab2","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.80.tgz","fileCount":102,"integrity":"sha512-y01+rWRGsJ/F6f9ZiJIgQ5maOFrqKyCslmC8z7jd4+ar3m2oieDzKR25Hm3SoLHYEx7vQwL5FugUzOAI5w+hHQ==","signatures":[{"sig":"MEUCIQCxL/JsuPHjRThfpdes5YT7n+RWteHHJzoZt7EgGlfoHgIgITcDPtm0nOQBkszAvgsrOKmhiUflDJDtAPl5KwBAiSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20246594},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b6478c2458c3b7ce1ae37c169cc83834bd305090","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","prettier":"^3.8.3","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.90"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.80_1781148130175_0.20768499283609043","host":"s3://npm-registry-packages-npm-production"}},"4.0.81":{"name":"@getmicdrop/venue-calendar","version":"4.0.81","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.81","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ac81f6f1653d35d5f50b71e07fe61bc0ce352ce4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.81.tgz","fileCount":112,"integrity":"sha512-n1cbNLp6FaIJI5Os/HRYn4Ap3GjavGPEa+VvlHZGuO5tPkvEOnKdT101beQiXSZeZl0Ae0ZRedIDeav9VT7hPw==","signatures":[{"sig":"MEYCIQC6tc94GaPVAlGszBOf8WGCYB639dp0VNOgZ4dnN4xL4AIhANX0NbrSR0HA55G0eTEOSp6mdc2AuzHk9KbqrFNwYtGi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15822422},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"3a9474d19c629c070bb04b89dd95c44d6cd88154","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.106"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.81_1781281827810_0.48189048384889244","host":"s3://npm-registry-packages-npm-production"}},"4.0.82":{"name":"@getmicdrop/venue-calendar","version":"4.0.82","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.82","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"12f0ce0e10e598ce955999f291a1b371b7b85102","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.82.tgz","fileCount":112,"integrity":"sha512-KvvJbfnMACfMzKhVuX715VVhwOCssVDtS+XMg0slI95YZVXtS7T3EIGQiOLubTl8ghrk4u08VoIKvEdbh8gicg==","signatures":[{"sig":"MEUCIA4ej3ooai2lwtuzHy9m/ksxIv1z40Fcv1BomvelwDdnAiEA/fTpQyDyOk3Mn+8aSdKgSs/TfGaH+wwUgBu/OuJIYjo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15823596},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"719e5caa64a035da0b6c494327f18a6cedf67872","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.106"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.82_1781292015780_0.4940620835538405","host":"s3://npm-registry-packages-npm-production"}},"4.0.83":{"name":"@getmicdrop/venue-calendar","version":"4.0.83","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.83","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ce0c7bceec9fea5defc8baf48ebeddc2e9918dad","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.83.tgz","fileCount":84,"integrity":"sha512-M3sHgAbQ5503twIogQyLcIjA+ch4Iw91rFP8x17JMp44qgUFf0oP1oNzSBRlGctR/FJjyLEPsgDltD9ubizCuw==","signatures":[{"sig":"MEUCIEr+rgJExpxBzpOJYqVUtlC6zq3PzWbUUac/5BNrfoy9AiEA68wVjyju5G94EDobm+8EHCxNKZYaG8+xx5fQxgwzNsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14570265},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d0771e4d42535d2b90eaabba0da00eab44d0eb45","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"xss":"^1.0.15","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.108"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.83_1781450307248_0.23312065443069985","host":"s3://npm-registry-packages-npm-production"}},"4.0.84":{"name":"@getmicdrop/venue-calendar","version":"4.0.84","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.84","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c54aea8d1c16b0b5451a1fd43380af44367e0e07","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.84.tgz","fileCount":84,"integrity":"sha512-c22NgOAhzc5AYuKoF4IZSC4kEoNp0ty/JkIxpefyeI6wUwdIp4ZwUNqR1xtc41n7FDkzW8qjKi37vBXNCrRkJw==","signatures":[{"sig":"MEYCIQCcn5FXWf5imdPRU3MgxQt1l/Z9aPSy2Fvy9wYLDHvBZQIhAIzh2l3yrFo25mJFUCVH005psroEbfw9G10DrSNCJAII","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14573672},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"7f04f195f835ad59ee6a071e184accbddf6849c7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.109"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.84_1781452256606_0.5131978737549336","host":"s3://npm-registry-packages-npm-production"}},"4.0.86":{"name":"@getmicdrop/venue-calendar","version":"4.0.86","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.86","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f49efa8f61731c195b79ac35a2b690fe675342d5","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.86.tgz","fileCount":84,"integrity":"sha512-Hjh34uplpI2eVLxG8+vse8UnSpSNzuFLH8KEaT2iQb9oyUY8h7jVoV0T7idE5T7RsLx41nAIjSrrwVJ1tQfEvg==","signatures":[{"sig":"MEQCIG2ZLNWgtrhEbLLIQPBut8R7Ghq4P6Qx/9A94T5+JbW0AiBv0F6AgoeJN7OEbYqhC+ejYI6PXL+zQOAMJCsaGqiVkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14425638},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"acbf2b5a523ee71a1f39ce1d5984cc837018ff4b","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.8.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.109"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.86_1781474023274_0.022410587961038342","host":"s3://npm-registry-packages-npm-production"}},"4.0.87":{"name":"@getmicdrop/venue-calendar","version":"4.0.87","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.87","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b33be3e8545c32e4780cbfce00a7abe0a0ddf68a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.87.tgz","fileCount":84,"integrity":"sha512-OwPdJ6TbU94wIx/4JX6BWDWrZIcd1IiqwgaEd7A07lLBeeQrz1MgcJHgSOmjFoOXYXLXAk83ASuqFE6PUu8WsQ==","signatures":[{"sig":"MEQCICh1ioFCuq8+YulFtslunwSzUVecTkt/rOcKH/V0pBN7AiBPIA/Z2/DVBIQLpmK1K9vxJboIVRr3Kfgo4wADYZuxgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14604232},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c1cfc9481bec7c51952909749e3e970b962939a2","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.114"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.87_1781756220541_0.7725325178413911","host":"s3://npm-registry-packages-npm-production"}},"4.0.88":{"name":"@getmicdrop/venue-calendar","version":"4.0.88","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.88","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a538f9e50029d5511b46efaa30f39b7387dc0147","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.88.tgz","fileCount":86,"integrity":"sha512-owlKpns70oqUziHyrgTBpmB6DqmSvJFUsxCkofawe1NTZjPYCTFOGIpLbq+epP6OIIY7iZf22RqaDaOFPcIM+Q==","signatures":[{"sig":"MEYCIQDkdj3o/auS/n22jpK0V0BokaoV8m/bFv+LlcXO5ekI5AIhAJw3xk7Mce5l5aTnAwVpYBniMP/BImZWIucdVd11B7iY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14586469},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"96b4223df2913a21aa4edcdf2d45895ab42bd01f","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.115"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.88_1781837267569_0.7871409303918746","host":"s3://npm-registry-packages-npm-production"}},"4.0.89":{"name":"@getmicdrop/venue-calendar","version":"4.0.89","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.89","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f6bcc05e5cae2e3ccefbd54de8e75011db337728","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.89.tgz","fileCount":86,"integrity":"sha512-gj1tbRczGhVGLq8jqFt3Ogv8/B0m+/Zd6mJd57D9yRtABHLlZnP3y/Iy+miJtCQGneiGEAOyARfvfU9z+1W7mQ==","signatures":[{"sig":"MEQCIAe9uMOn2X8GZ8op1rbRI7ftpk0nY9CCoEQt53/Gg5wGAiAXe7A6tE1TtbSu/r1kJIt14TObOkyjMZSTS/RxIqrY/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14570051},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4d441890d9e8fb09249ecb44f2cd0f3c9c777bcd","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.116"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.89_1781991849761_0.1549760698959337","host":"s3://npm-registry-packages-npm-production"}},"4.0.90":{"name":"@getmicdrop/venue-calendar","version":"4.0.90","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.90","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"87a1486364aec2fe298b8a308f2bb678d9fb45f7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.90.tgz","fileCount":86,"integrity":"sha512-fNHBnXY7x9wO1lzy18sc7DfbJhTeGLPFdR27IHkmAdIPhwlS7RUkT0VD9qFtOT5EoNfUyTNyazVx+HzN9Kc9SQ==","signatures":[{"sig":"MEYCIQCQoy24tMKsNyMOI0GI3/G5cYk4GXnGTCr0ybtkZQuA1AIhALgECjPX0+McAcSK7ZXYsJL0HZz9K5PyLQPjNB94IdKt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14693418},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"32ba5f4c345f56923bb3fbf0c2133a57b6b38a7e","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.117"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.90_1782167610817_0.15828872965404162","host":"s3://npm-registry-packages-npm-production"}},"4.0.91":{"name":"@getmicdrop/venue-calendar","version":"4.0.91","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.91","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"7f7f1c7ec34ef8db11adf22637b26eab5c551ff4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.91.tgz","fileCount":86,"integrity":"sha512-BCPSk8Ah0TMhG/XSSTftYYpqlHDGqdfeqx7GRFliDSadXYXdD5e5rF1tQTOLHqIwxl5E9in82MQ3Ta4vKA/RfQ==","signatures":[{"sig":"MEUCIHICuSpkVpjLrg6S93fOIafwTZSHa+MUtuPlL6GCXJ0oAiEA/dBNkLjQVo4lPMzxfZpZo0snCvacaujvxp6lk8lL5zQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14696073},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2c5766acafe9700a0d0a99f262576183770d72d2","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.117"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.91_1782242978657_0.23745674590834098","host":"s3://npm-registry-packages-npm-production"}},"4.0.92":{"name":"@getmicdrop/venue-calendar","version":"4.0.92","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.92","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"9c6b484a6bc8b45f6297399b126b8bfd1f18a236","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.92.tgz","fileCount":86,"integrity":"sha512-5U9RskMdCOKvjpA3PjmzXvVxfNzQdeXEts/9hz4/TGMMgJ15T6GaTPpAy8mtGsgxZfUJLDWkxyfOf4bsAPJLFA==","signatures":[{"sig":"MEUCIBml+ePxBMpvA/rGZz7EqWHCkOWat6vMiSjmFCd6fqcsAiEAuBgG38Qjn3QOq5Blski1gL7A4owsBnjtyLVQc6V8feU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14722871},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2161fdda8244c138401cc27b01bda4a020f6ffa0","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","design-system:check":"node scripts/design-system-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","carbon-icons-svelte":"^13.7.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.46.1","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.117"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.92_1782261481857_0.621208188323984","host":"s3://npm-registry-packages-npm-production"}},"4.0.93":{"name":"@getmicdrop/venue-calendar","version":"4.0.93","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.93","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"283ff27c18d0ad6c456b16455d9d93835454eb85","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.93.tgz","fileCount":89,"integrity":"sha512-k9RtwZqwsifaHtbQ52lMRVynD63ZjQWsQzQ93OHjVKtjQqXXh/DckaEMlWQRSFOLkTpJ9DNpwR8yk7JAbxClpw==","signatures":[{"sig":"MEYCIQCLhE74l74R22TxEelwzYPT8KDGmmr9M+LtFIfD7iaDWAIhALkaJSl6ZjJpf6Xm2UJXagfDL4ZbwUqAZRVCiK0x9tgr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14584388},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5d1fc2511423f7313e1131c1439a1f4182b1d994","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.123"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.93_1783301631388_0.9988425727402885","host":"s3://npm-registry-packages-npm-production"}},"4.0.94":{"name":"@getmicdrop/venue-calendar","version":"4.0.94","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.94","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d3cb5912e02fb9ca49c2b6f856eb1648924cfc8e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.94.tgz","fileCount":89,"integrity":"sha512-6lKrD7ZIGwzPNdU+bhGnmeEd8HA1o4w9MQWpm2nLjhWteFfIB9zEhWPHxAm3iVEJHj3Qq9QdbS/NEhK25sqnQw==","signatures":[{"sig":"MEUCIBW1oQePPV1VIaJS765l1jgmAYyI8/TrA0OjE5aIsYidAiEA7pb9Uh+fRhSqJfl1WQATlIZ3npOcOT66qqrK6L84I34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14413736},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"11.6.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.125"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.94_1783365220129_0.3860150941062348","host":"s3://npm-registry-packages-npm-production"}},"4.0.95":{"name":"@getmicdrop/venue-calendar","version":"4.0.95","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.95","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"336e5623985f042cdd1689af42e57f5de30be78c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.95.tgz","fileCount":89,"integrity":"sha512-Pepdl992phYfppmvmumR7kckcll2suuOSCc9gPy4TlKcEU2ecmKWM6gac0lfD4SiuvoyGnYUmS3e90zP0veA/A==","signatures":[{"sig":"MEYCIQCBN8GkXbTR9pP/8H6nViG/r/qQEb0UJzC9uLwWdsKlOwIhAJ+RBjxNhZDU9SHzHdAqp6i0gBK5hwQ3YxFkCWx5YnEb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14427511},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","design-system:baseline":"node scripts/design-system-check.mjs --baseline","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"11.6.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.126"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.95_1783383806323_0.8369293829021924","host":"s3://npm-registry-packages-npm-production"}},"4.0.96":{"name":"@getmicdrop/venue-calendar","version":"4.0.96","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.96","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"490419a23a1d7ca3c3896d9d67ffa201dda47623","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.96.tgz","fileCount":89,"integrity":"sha512-zlU45Xnlfxuo0Mo5DC0JwbBhVdYt/Kbw/vUgQg9L2H35z5I1aLnKFKiF9/czg3/Ol4JecPxgCOS9ReKCyjODqA==","signatures":[{"sig":"MEUCIHHIY14NFL8dImICwq4OAwZc+LUADpCoKBqGTVrV5gIdAiEA/8SKN5HD2DjQYzTj0N3G6tSFAOWR+Zm9Ta+Ra/l/HdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14462919},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","design-system:baseline":"node scripts/design-system-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"11.6.2","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.127"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.96_1783457609578_0.29488120328102285","host":"s3://npm-registry-packages-npm-production"}},"4.0.97":{"name":"@getmicdrop/venue-calendar","version":"4.0.97","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.97","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b196ef3d3b398a90e7e7f78dfa765e1eb7a194e5","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.97.tgz","fileCount":89,"integrity":"sha512-m7UFIbxcXI4otAe46FGU974Ur6ix2BEXxLYLQVpN4KNdIEmv5wztTVTW0IAd8rqF/oMA8mse4OqmCBQLkkEGdA==","signatures":[{"sig":"MEQCIEiV5FECkzxwXZDW7V0pGPzDlvrwqt3EERQ5L5gYzoEDAiBrgYicBe+TapnL0sOeIHLUvJFmZW2VGKKjzuSRlaScsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14730478},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"77cba6a273b6d95a5aca930e1493b909b09acb69","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.127"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.97_1783622191832_0.8442766383584295","host":"s3://npm-registry-packages-npm-production"}},"4.0.98":{"name":"@getmicdrop/venue-calendar","version":"4.0.98","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.98","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"9a77507689c67259e2181c1126fb4426c0d1e554","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.98.tgz","fileCount":89,"integrity":"sha512-hvaYTmnQwL0LC//sJ2/s0k/zhAld5T66T+gyYiwAvldJWq0QXuhUJn51BgsVahXHGFlDZGnuvjkkK3MliknAeA==","signatures":[{"sig":"MEYCIQD6n4KVHR1+fwFATChxpkge304D9OkkEANQVvWNTvUpwAIhALKT5fw6u0I1u4ietHryEkqAqkPPEDLfXRa5xe7ZMQcW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14730942},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5a1a0d4038c116aaa55ec12fa12a02bfc6321134","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.127"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.98_1783627886254_0.40165038644939033","host":"s3://npm-registry-packages-npm-production"}},"4.0.99":{"name":"@getmicdrop/venue-calendar","version":"4.0.99","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.99","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"50e4be8af829a3107f4f815224e39462c1ff1fb6","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.99.tgz","fileCount":89,"integrity":"sha512-xhDUeXzsEeWbTBl+rxy32BhAhIlLY2Euci1nt07VKfwjqHDMhZyxFLgW5dI5pxAw5WA+YLeVlQW+x7ePTVE8Og==","signatures":[{"sig":"MEYCIQDLqLVFvWl4yayZxqPD4j0GHv9kZqz4/tlkhICTMdxG8AIhAJ+ARiAZiDCUc/B6JuKVWPmZHbtaZ/U3wmYOTVYMvhTm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15187083},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"529f924548f16026e07f8d1e7c8184912a3e7ff1","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.128"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.127"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.99_1783663582417_0.13655066730254917","host":"s3://npm-registry-packages-npm-production"}},"4.0.100":{"name":"@getmicdrop/venue-calendar","version":"4.0.100","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.100","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"bdd5807b09db1bb7b5fa41f63a113f2b601d55e8","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.100.tgz","fileCount":89,"integrity":"sha512-+xd/G2ZbjJfgW3RX3thwaFA41Qm3Y8QmFsbjVU2czX+AP9IpMdbbb6I+iohgDxd+JgLtE034YU5HN+y39YjCCQ==","signatures":[{"sig":"MEUCIQDcUUlAiDSYtg43RDJV7ZFZg14MFVy/C8VkwowycOVh+gIgSxg8BUSYKQ4hJRhEEoLVL9c/crlQsfuqS2cE0ufIy4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15253864},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4d8232c2346c39cdd15ecc141eea53689d62077b","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.129"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.127"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.100_1783700057491_0.3881148010520554","host":"s3://npm-registry-packages-npm-production"}},"4.0.101":{"name":"@getmicdrop/venue-calendar","version":"4.0.101","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.101","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"dd7731055c8f2bfac520ffa3b2062dea390cfb0f","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.101.tgz","fileCount":89,"integrity":"sha512-KA5H5BR+9zbt9Vo48XfgmRYCCo70njIel7tkASD0oLJb53zM7SqZdu355kTjlilDFhBJTPKuqAId1SreTz1u5Q==","signatures":[{"sig":"MEYCIQDw7f3Jj93kP2aOhbtBB7sUp26DMXOZZVM/oO16wL05OgIhAK+R0k2963+trrXoq+0al98EkfHtk+NRFHlBT9UUyzfA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15254789},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"7d4ed926db7da22d8df83fed835cfb1de2a4c53e","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.131"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.127"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.101_1783709803960_0.006330883200454274","host":"s3://npm-registry-packages-npm-production"}},"4.0.102":{"name":"@getmicdrop/venue-calendar","version":"4.0.102","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.102","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5fc08e1d0be383506265f7ad85ae86a665971555","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.102.tgz","fileCount":89,"integrity":"sha512-bAgtztZw+99eFDmY/lonj7eFs5r9Gqrk4eYW76yjd3iJgKU5Gc/Gh1CUIj2jrrTIynhh/S6myZugA/zjsF7K5A==","signatures":[{"sig":"MEUCIHi8g20kYjJHEzK0s9zUVHHLC5RjEIr9l0lK5OXanCnhAiEAzjayWGnLWOjV7tl/tq7vd7gw6DIK6yiqZo4qb8Ja+RA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15254789},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"679132cf5a05a2494460b229dc80ae84ce937d52","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.132"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.127"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.102_1783728984749_0.7309561433771468","host":"s3://npm-registry-packages-npm-production"}},"4.0.103":{"name":"@getmicdrop/venue-calendar","version":"4.0.103","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.103","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c02c309236d5f052fda6ae738603eceb461fab8d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.103.tgz","fileCount":89,"integrity":"sha512-zUpc9giTzUYVCF/eHcXWm6mDJ0TQRA+dGNYs3fkphBBklY7fLF/TgDH4yBYbvPEA9cNSmx2VDGsM5yV2cctMVg==","signatures":[{"sig":"MEQCIEBiyTiSvfPBO5aiUNwOqax/Uj4gXn3HdLQi7L8h84jkAiBAjKX2i/uPqRCROBPxcLfvWQ6KYpabx6XwAVPShMurRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15254789},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4c70d0600edda02e82c6b1157def2cab6aa43298","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.133"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.127"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.103_1783729939338_0.7852958801432608","host":"s3://npm-registry-packages-npm-production"}},"4.0.104":{"name":"@getmicdrop/venue-calendar","version":"4.0.104","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.104","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d476bd378bf0049fba9be1151338b8327da986e9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.104.tgz","fileCount":89,"integrity":"sha512-u/oPd6vX/oOenS4m74QWttyuLPWpFdH91hd3vwLbCeaKC3SXDDbTnrs4MHIAANyTbah26DiQBwd9oQI4WWBaOw==","signatures":[{"sig":"MEYCIQCvxcvMcPJyA3J6m9ZMjSQROCaMwlsZ0qJRtzMM3YGZLgIhAK+1ZHVRSgJbe8I5p+ItjSsD4d0xxpRCUqnOX0E5z696","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15254789},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1417d1f2a7433d1cea43e69797e3425aff7394a4","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.133"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.127"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.104_1783735544966_0.580261851730395","host":"s3://npm-registry-packages-npm-production"}},"4.0.105":{"name":"@getmicdrop/venue-calendar","version":"4.0.105","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.105","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d55ffa55db11dfa0a833fff2a88c46a95c410f9c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.105.tgz","fileCount":89,"integrity":"sha512-dLl2zp8GBxjsl1Z4Tmo0kDZ1mdaMIi58TSW4ueuk/jq3drPgqlZxDcFeF5Sb2g8AIOTp9GiyobKLBTyw00f3Xg==","signatures":[{"sig":"MEUCIGAuPQYRTUz7R2EsxwUIp3jiuiLXPMeIf0vssdl3AzxyAiEAv4Twl7uP+LN4z/b+iSFwugFvoBovyhGKlld2BPeaj+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15223024},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"61baa8c24ef6be01f483bcc53c06dddf0509bb4e","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.133"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.105_1783750052904_0.20756503231513412","host":"s3://npm-registry-packages-npm-production"}},"4.0.106":{"name":"@getmicdrop/venue-calendar","version":"4.0.106","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.106","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"82133ef87420837f78055d8d823df5ad73933c68","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.106.tgz","fileCount":91,"integrity":"sha512-4FgKZhMMnigr/ExlIhlf8hlTgIxqc6WyoGJz06SRA85U4m9ItQ9c/3W4zQWb/63UsxIy9n/42vQLQbd5V1Gl1A==","signatures":[{"sig":"MEYCIQCQVy4mQVnHDUyOPajCGQOOlKlyVlYNVsvkOMKFi4JjlAIhAMxO4yn6IHMpJFDxzoBDuZ848b7OLzxPknMkknxnRavG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15315141},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0ecdcab2091f26fbc405779e18d17a09d8a6d04f","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.134"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.106_1783783884283_0.32574264886996573","host":"s3://npm-registry-packages-npm-production"}},"4.0.107":{"name":"@getmicdrop/venue-calendar","version":"4.0.107","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.107","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"7f73e610b2b9c1fc43ba43ccb4cccf6736b370a9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.107.tgz","fileCount":91,"integrity":"sha512-KdXrkkJxK1W1R0GdpNnmJ4Gh83A9uFsDBivEAX10/bZkL2A1wxUc20yp/81ZgP8Y3Go34ZdM7cN2Bl2CGALp7w==","signatures":[{"sig":"MEYCIQCN05Zel4dT6j+eZkMo5PE5nO2/gaS1YTBGxq/n7PpeaAIhAKhMPjA5fspgz8Fa9aFog1E0BwuN7hJmBTli+kdf7pdG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15320527},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"fb3177411338a9973b528b4307db90e4ff284237","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","design-system:check":"node scripts/design-system-check.mjs --report-only","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.134"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.107_1783786819894_0.6232540083085683","host":"s3://npm-registry-packages-npm-production"}},"4.0.108":{"name":"@getmicdrop/venue-calendar","version":"4.0.108","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.108","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ab850698cd5e8cadaff84d331e71a99ea0649e32","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.108.tgz","fileCount":91,"integrity":"sha512-3/7fV/GwZXpsCCY38E0SOPkmxGAbf4vPmOKC90CRSJ8hsv+n4MoKK1DN1qiaxjQC623304lQ4U0ZMdv1PG5eTw==","signatures":[{"sig":"MEUCID5oA29H+u2LaAQuI2S+nH/u8WZ1qIjhAN/4REiNeSFDAiEApNiz7nknpGAafIwRUuLkczBA//Fmg+U9RZlpdly64Rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15215956},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"3ff854729ec6ccd650911763f67b2867ddfb2940","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"11.16.0","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","libphonenumber-js":"^1.12.40","@getmicdrop/svelte-components":"^6.24.135"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","esbuild":"^0.27.2","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","baseline-browser-mapping":"^2.9.11","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.108_1783968490647_0.6405017880697008","host":"s3://npm-registry-packages-npm-production"}},"4.0.109":{"name":"@getmicdrop/venue-calendar","version":"4.0.109","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.109","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b1de5a1dd03778af553a917e54b9b06a3f3f065a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.109.tgz","fileCount":92,"integrity":"sha512-AF3EOcoKwcvw7tJegBywBpuyrjgEcI6YoAIf5LurgPhvXC416s1nty96c8Vj3Fi1MQcWuRR4Sj/A/uspMpXXSA==","signatures":[{"sig":"MEYCIQCJ1FLhJla/W/BzP36SYSRnQ1w/26MBPDI+IRL3COewWgIhAPzF+o3T0PWo1SNLYJASMgSfo1Dzvl5Nytp4BURokfMP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15609448},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5e0397040bb77beed3b4a3de8e6762b15470dae4","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 418","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal); cap raised from 270 to the new baseline (0 errors). Drives down via follow-up cleanup; design-system:check:strict still gates NEW design-system violations against its own baseline file. 2026-06-10: ratcheted cap 1638 -> 418 to the actual current warning count so the budget can only shrink.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0","@getmicdrop/svelte-components":"^6.24.135"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.109_1784186138835_0.8625823442152074","host":"s3://npm-registry-packages-npm-production"}},"4.0.110":{"name":"@getmicdrop/venue-calendar","version":"4.0.110","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.110","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b7c55077185c38580e047c770a08e113f71d7417","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.110.tgz","fileCount":98,"integrity":"sha512-wRlGzbNYhJFqCt5RXrtmkWuWNFTbgEfdCvAxaz5Bnh5KCKir6o2aR5MACyF5BZEhQMkxrOfXOD08pWXHDxPqVw==","signatures":[{"sig":"MEQCIFN5CPCgO5TNbCznxfG5inSDR2U+NMO1L4CNZ6Vvx0IIAiBRWtGtcHaxH15unJllpW1Embdip4pUzZRqNnZM8ZTcQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16211374},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"69b073e3755d474b03a238cfcec4e415c3781a0f","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.138"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.110_1784227663594_0.6997702785133968","host":"s3://npm-registry-packages-npm-production"}},"4.0.111":{"name":"@getmicdrop/venue-calendar","version":"4.0.111","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.111","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d3df5cf9c6838fbe85710844616f36d5de80ca9e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.111.tgz","fileCount":61,"integrity":"sha512-80sy1nazcV5l+fuSjQtlAOH9k2jyyQPxkemnt2AJlbvX8cyM0bF2lgjyDaRGR7dL7AuVIqX34G7qnsu3m6Rdiw==","signatures":[{"sig":"MEUCIQDC4xuVD9UyIkEaEMOBs+1LmrgAkZZhBkcZU1b1L88gYAIgcxdPnkEf7gKS4qUGd9cU3K1DLloBrTCL10gcrCB4zhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15263079},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b06981e09406af04811f66b9ca231bd82eb42658","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.138"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.111_1784239782146_0.732543609498596","host":"s3://npm-registry-packages-npm-production"}},"4.0.112":{"name":"@getmicdrop/venue-calendar","version":"4.0.112","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.112","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a14e78bb16ee095d92b412505d38c14c24ef88b2","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.112.tgz","fileCount":61,"integrity":"sha512-JBKjEFOkLvKkAZH40v8haHkjB1lp67HVf5NmmW5UJQkA4Gwp9nJrZPUYUs2TPtPD9CFiidLCYIhQryJImZ5UiA==","signatures":[{"sig":"MEUCIQD0s4pH74w4TUHvdJJRXtMr/MjzPPSpyF1TaMIzdl54BAIgNuMkzneua8VUBZXwpzo//RP6+Vh4vzCqDTNicm/L2ZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15260125},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"27ca5ac11b05987d8801dc03d69147c2479e5786","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.138"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.112_1784240577776_0.2997940342233112","host":"s3://npm-registry-packages-npm-production"}},"4.0.113":{"name":"@getmicdrop/venue-calendar","version":"4.0.113","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.113","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6cba7b778b75328958906ec25055a83422c83a2e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.113.tgz","fileCount":98,"integrity":"sha512-HdWGE0QwkzThoitd+em9mzsyM2WjPZh3yakdhAiJzGkMFBU7raTzppgXupta+TIWqnCZcIhlO7nqXAclXffEsA==","signatures":[{"sig":"MEYCIQDXkYDL5dYd+C1Jp/1eN4esVuAe+6fpEzgXyLom4pRUGgIhALysFWlNbX4M/j0DZWcXmV5IjTpV36FMkPEGcAoGSP4B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16311546},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4c3f7f5b1fb67ebbd6a31b8365232ba12d9c910c","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.139"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.113_1784246353534_0.7651484367084855","host":"s3://npm-registry-packages-npm-production"}},"4.0.114":{"name":"@getmicdrop/venue-calendar","version":"4.0.114","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.114","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f7b884710cdbb9e1b0c67f33db030a2d900b3fa3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.114.tgz","fileCount":98,"integrity":"sha512-Im/zlKofDjbGcBLzSNx+NCpv72cYF4PCuuneuVuQvmlYaj3IDhPGtTOa9zmeCbgUzbc+ln5tfNDsEb5NwmPIYg==","signatures":[{"sig":"MEYCIQD3j2U1Sz0Ya2QeW+xVWCwHappBSaGUC3VmlZgVwbkzuQIhANogtsKQdg+8f0+m2cg6jo7hOAYoH+vLoErlU2ac+JCL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16314186},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"20ebf21908bb3eadfeec2552297ef2c20fcfbe52","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.140"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.114_1784250970703_0.4740288326155502","host":"s3://npm-registry-packages-npm-production"}},"4.0.115":{"name":"@getmicdrop/venue-calendar","version":"4.0.115","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.115","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8f3582e7b330b6ba0cb3c2853e93d38cb90a19e9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.115.tgz","fileCount":98,"integrity":"sha512-k2d+CSTuCy/ez2/GKLlDlGB/va/ddILy838qEbIRYDzqGL3UYn1y1ObvOGws3xuNdys2MyvZx7sfPBfVVJ4wFA==","signatures":[{"sig":"MEQCICAmLgOO3PGwOmD05LBV5REam/Qchg6PKUdBtNkjYhfJAiABjjuwMUi1NrEPGxyZ0XfJq977ap4VyVWt10g37c0eiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16322878},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"fd8f850ae91913aadaf5f46eaab963c932ade891","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.141"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.115_1784253351563_0.6338790237910641","host":"s3://npm-registry-packages-npm-production"}},"4.0.116":{"name":"@getmicdrop/venue-calendar","version":"4.0.116","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.116","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"aadbf9cbb6f15a7f66740d524aaa43d73b2be6d5","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.116.tgz","fileCount":98,"integrity":"sha512-blidMOjj6ugTA/RM+Mtk7VOPRN0JTU+i2uyeCOESrWxjaiK3VG+PbE6CyeERkS9wOh7/XTFPlLpKQwnqxYPyCQ==","signatures":[{"sig":"MEYCIQCYujIjIjCBezHRCqS4uPeL5pP3ko29L3QpLjAlemK7fAIhALRaG/d/BsivsNCh9LBd/2gbWkDfVsy6VWOaJiM79eZQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16326583},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"77a1f0a34e3d7f58f567d4c6cafd97ecc66861c5","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.142"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.116_1784254028184_0.9714985281874244","host":"s3://npm-registry-packages-npm-production"}},"4.0.117":{"name":"@getmicdrop/venue-calendar","version":"4.0.117","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.117","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e1d9d3985ce4937e992f609549e6369e6dabe616","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.117.tgz","fileCount":98,"integrity":"sha512-mwhpwAAtUa8luHLv9TCQbFBlFxkRLGYagwF0fmUfw5deFJutXcubZgzeXKTz8kX78eLY75VTO+b6kTh9m9H2tQ==","signatures":[{"sig":"MEYCIQDiswJU6kQ9/n7LDkwZzY6nD4U0Zqho2MnJuMrD5Bo3wwIhAMwmcugjhKboznr3xjEQ25cRMIYlxvnt29WumficlZUg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16326583},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e2eff3306a4688e067636b8808e67163d3e7b67b","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.143"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.117_1784255905930_0.8479266611524872","host":"s3://npm-registry-packages-npm-production"}},"4.0.118":{"name":"@getmicdrop/venue-calendar","version":"4.0.118","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.118","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1931ca2477622c5ffd8db7c16c841596ca6de31c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.118.tgz","fileCount":98,"integrity":"sha512-WJs9N8o0i34fPssMBYc7gybXqqX1KQBY7YOwVPfjv+TYZDX2eJv60QS/AOR5iIU76FQWLhA3MIrHNoTx66+BLA==","signatures":[{"sig":"MEYCIQDK4pmB787NEboYSmkR6YgzGbMJBV3elqyGLFxMKdVFtgIhAJLmOQMaPEtOr7xbWqjBaJxuljdezUaegRsOTRYEuG0c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16334428},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2bdd46e6d7a8bdb9e7a0eba0c7be157baf1af92a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"size-limit":[{"gzip":true,"name":"iife (CDN bundle)","path":"dist/venue-calendar.iife.js","limit":"660 KB"},{"gzip":true,"name":"es (npm bundle)","path":"dist/venue-calendar.es.js","limit":"60 KB"},{"gzip":true,"name":"css","path":"dist/venue-calendar.css","limit":"50 KB"}],"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.144"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.118_1784256698047_0.09922672638058883","host":"s3://npm-registry-packages-npm-production"}},"4.0.119":{"name":"@getmicdrop/venue-calendar","version":"4.0.119","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.119","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1611b432a22ccb38c87996fcceb7b804046bb7a0","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.119.tgz","fileCount":98,"integrity":"sha512-Gj+HTunbbzoJGaAQmH1zG/Gkos5UzMhRBBEx8nh84Ymz3qC8hBn0jjfizD5vlwYOWvStBUUuriZ1zg+QmKGV3Q==","signatures":[{"sig":"MEUCIHAkGqcJsFyUrGsSOlUcdFoPPdffD556yc3dsaDEOErTAiEArVq3ASylxlKjtjX9emPDrpIBwVZ4wxf7SOT/Y4p0Oks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16334782},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"aea594ea0a353270208c7674ef8e4a78fecf42e1","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.144"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.119_1784257235589_0.9019479403167641","host":"s3://npm-registry-packages-npm-production"}},"4.0.120":{"name":"@getmicdrop/venue-calendar","version":"4.0.120","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.120","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ebcd6f5c413932bee53bafa0e5c975649293db54","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.120.tgz","fileCount":98,"integrity":"sha512-gvnFgn4EWvKOa1/c5nhDCuYseDOYdxNnBbSs/jvDtAEdKMpX9UVelPRfS9Gpp44AmnBLcHAkbwB5qsDjjOsrVQ==","signatures":[{"sig":"MEQCID2OXCxMlkdyLJH6z+tas7nN+swmvUcUxlAbHG+tuXRBAiA0W3Fk1AJRGuHqFAGGO37kdHtzb3N6VcBJOcz58zRudQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16334598},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1c6a8618f461cf264772d27ce26f9e754e18e2f4","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.145"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.120_1784257871504_0.11931991892684923","host":"s3://npm-registry-packages-npm-production"}},"4.0.121":{"name":"@getmicdrop/venue-calendar","version":"4.0.121","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.121","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"eaa75cd9641c73fe0729d690556421394cc4d3d9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.121.tgz","fileCount":98,"integrity":"sha512-UicrhhmIXw7I1aBxbFDNJIGQhWWYnRE/SWeEa1irhrCkGPp1MO5GqMtuYGUEdUyILP69y0z4uNbJz5zGzak5sA==","signatures":[{"sig":"MEUCIQD4XXLxE/PJFmqs6sV1iratSSGgi00mkjH/mvkxfaDn9wIgGphrOb4qCBGBEOjaym3+g111/3ICOaff5lnccc3wMh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16330849},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"160d20cff551934f18597df3a93bde580c3ee4c0","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.146"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.121_1784260401284_0.935001559517898","host":"s3://npm-registry-packages-npm-production"}},"4.0.122":{"name":"@getmicdrop/venue-calendar","version":"4.0.122","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.122","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"0a4af18018f140964dfe33537edde214a1a63319","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.122.tgz","fileCount":98,"integrity":"sha512-LqBFnVwpdIRHaT92Fflui3J5gFRr7Xa7vH9GtXKN1LQVs8syuloSHJQNmAlf7akPjIm+D5AzjhG3gm1INqAExQ==","signatures":[{"sig":"MEUCIQDqtjih3aXSEioU0JQrM4pUKznUU2WyTXXScIyJqIGU4gIgcKErXlLXtJM9qquxc+KbUETX2kK95KT/o/fAU2aOOfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16330723},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"116ef10bd6e828ee5e5ae31c30e5365b500db693","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.147"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.122_1784263940215_0.9038053754049575","host":"s3://npm-registry-packages-npm-production"}},"4.0.123":{"name":"@getmicdrop/venue-calendar","version":"4.0.123","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.123","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b990c87887999eccea58497ec106202b3229e9e9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.123.tgz","fileCount":98,"integrity":"sha512-/c5kqR2YV+lmVXZlO/zLF3rxYDdNwOhFHLi8W2kmjuiO4wHLsxhJJUv6FW27x7enXR1Nr35bPZUOmB1N9bDAJw==","signatures":[{"sig":"MEUCIFcJcx7gQxD2H3JQz2/HO5jG1Rokrsdc7uvpWFxYI56RAiEA2GZScgNwRSEmxbQPqUiNSSTPor9sBYu7me4XO8VH+jk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16330723},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"9d0157fa50fd433958d7a47e4dfb1b5878c4443a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","voice:baseline":"node scripts/vc-copy-voice-ratchet.mjs --baseline","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.147"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.123_1784267535305_0.5797862348662577","host":"s3://npm-registry-packages-npm-production"}},"4.0.124":{"name":"@getmicdrop/venue-calendar","version":"4.0.124","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.124","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ba6eefc66c5377dd4a32bfe2ab32382ca75c8947","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.124.tgz","fileCount":98,"integrity":"sha512-3s6emujDHxBnoXFTxs4D1VPWDiae/IU6geCG4Wg5pi6sYttH0+DNE4hwqZnWKBFT+cP25yjfqkWmIiVbsostsA==","signatures":[{"sig":"MEQCIBYXmh86wbDWAVrN/DjMkyI9zUBDKPDHHjj11kcMenV2AiAEYcvhuciJnEGH+23mnee4n6JPNYaC006SL/KOuxAyTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16336118},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a24149db957fd664353592ca4cf2798543b5d25b","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.149"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.124_1784355735639_0.4818771944307838","host":"s3://npm-registry-packages-npm-production"}},"4.0.125":{"name":"@getmicdrop/venue-calendar","version":"4.0.125","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.125","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"bf716a3b1f2def22eba514b2e430dcbaa1bf12f2","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.125.tgz","fileCount":98,"integrity":"sha512-+rUy+1D0foaVHH+K4tDIZyYEXszf79czR2RdY5vQMRTVLcsYIhUeeMnVygjEZUyMM1+gNwb2utjnfHe+R2thHg==","signatures":[{"sig":"MEUCIDT70w/cWsEG6MGp3GBlD3zIqFipAWDi7k+XEOZAAM0wAiEAlUqNE7DGKa6VH8tQ+te5aIEkYja3lwqNCansmpp5T9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16341455},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"9b363a2f7601db1a6c73f0f70da112ddd96c314f","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.150"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.125_1784399000046_0.029253606748927075","host":"s3://npm-registry-packages-npm-production"}},"4.0.126":{"name":"@getmicdrop/venue-calendar","version":"4.0.126","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.126","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"253dac110db1ad2aff0ce29af276e81b88bccdf3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.126.tgz","fileCount":100,"integrity":"sha512-39wIOSZzD2Kqu3gVWmd/7ffl4lkTG7ZFKj/jDcJ8kIiikkgAx0aPsjmeDGFE+d1usTgCjroJcXY9ii+D1ljByQ==","signatures":[{"sig":"MEUCIC3zK4VC2TEyEqzdV5YT6J8CaLVCC5VpBRXYIptzXC+BAiEAqi5F4D81Ici0Y+Cza8fGl9iL/kJUegalsBc3HJcTZzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18128154},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c1d862088350bd615ca140f89257d09d22d7b25b","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.152"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.126_1784782930825_0.6681021448966482","host":"s3://npm-registry-packages-npm-production"}},"4.0.127":{"name":"@getmicdrop/venue-calendar","version":"4.0.127","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.127","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"cbb244ad54fe3842a1c1de1eceaebd9705e2a000","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.127.tgz","fileCount":100,"integrity":"sha512-ZoBdtAguacTkksdIWoTMRzxXU/FpvNWNQ/Rqr+W9orC9k9dEuuqDEF4gG00x5avzxRoUvT4OFXYdGS5TwTa62g==","signatures":[{"sig":"MEYCIQCUnIh9vPzCBmNWaKMj/P0I5eFoUorBZdt+w2WvWn6UHwIhAPZWDx87XGlC7bH9LHMNV2CqA5Epa7Xiu7naJ+ayhIWO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19750048},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b838cd97e7fffa6971df171ce0ab1e9a1b3ff803","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.152"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.127_1784787754243_0.6109210097724669","host":"s3://npm-registry-packages-npm-production"}},"4.0.128":{"name":"@getmicdrop/venue-calendar","version":"4.0.128","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.128","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b92071b0fe0cacafa1c14b0b2d491791dc01748c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.128.tgz","fileCount":100,"integrity":"sha512-YDoW9fX0Q37wFJmP956sd2eJ9xON6eCzSHyRAZmkUawt+cam0k6U7otg1BXVM2odk+sD9UefYst35I3xOpwD7w==","signatures":[{"sig":"MEQCID6eXD0tAEKmXJ9k+yLLBnCNK9FoP9QhHU3hI8w2+40cAiAPAAu0nAPECd3EmysLoQ8/o/7+0F4mOHoJCK+zYsz3zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19775615},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"97156efb45068c53365a2ee1e2671e0fca980878","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.163"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.128_1784919251622_0.1340008737004248","host":"s3://npm-registry-packages-npm-production"}},"4.0.129":{"name":"@getmicdrop/venue-calendar","version":"4.0.129","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.129","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"171bd05b43fd8221c09548e9e598c0c537d8afb7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.129.tgz","fileCount":100,"integrity":"sha512-8jQHD7zekAWxQHLJ6ILB7Eg2rsn+EDbOuUlxbyip3eCzmtnLeAAat4oWcGObKRXrXbkTELr5P3Ey/G/h6IAjEA==","signatures":[{"sig":"MEUCIQCxhGBtfQDQ6RMh28vb/O6afZdGxKHcNTaH7NlP8r/yDgIgY7IvCzj87eYlTUO/Kr8kZs9FHwUx20nw1uNkhxL5HSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19775615},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c83f6ee1ffa5a2b8b660b78b8a3683707f91d33f","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.163"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.129_1784922720553_0.1076063514741108","host":"s3://npm-registry-packages-npm-production"}},"4.0.130":{"name":"@getmicdrop/venue-calendar","version":"4.0.130","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.130","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"09740002e237f528a5774c5cc19d908763532cf4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.130.tgz","fileCount":100,"integrity":"sha512-jQ8mCtAGbIkMqEpglPW8pe24wTT8TVQU+H6IVUBCuqKtgTc8m8cinlKsSz0Fr/cLXMIx6b7+aXosWhQ+TBrDvA==","signatures":[{"sig":"MEUCIQDDbAWVFUN7Cmq/Ssd6fShucxVYK0JPa/FeAEB8nVn8QgIgRmVYlEH29PsOpOuzYLiXJEU7rSkChGJAwByLM/nVXM8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19780258},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"cbcc7d12b9140cb23596e0599a09577b33221163","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.169"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.130_1784944376608_0.6178040571588892","host":"s3://npm-registry-packages-npm-production"}},"4.0.131":{"name":"@getmicdrop/venue-calendar","version":"4.0.131","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.131","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"7cfc1e007f29fb52207ddd8e249050d5a2e51742","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.131.tgz","fileCount":100,"integrity":"sha512-dvjzxxGkpwnp+DV3OOJU6TPYc2L3MwbfWej/E/lLxMWDczz7jTs+O5V5Kf+4PJ2x/CZckIpsOgtrTMRzteeJhQ==","signatures":[{"sig":"MEUCIQDw9cCF0xBy9wizKoEET5+3140Wo1rxsf4NVTn6fRJ0GQIgBgnasDIC0jHk3dAhqt1CbyiMO4gqLxsB2ENxcPEeit4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19780228},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"546c63adf2c6f188d33e3c6d4945c2f76ac51e9d","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.169"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.131_1784946153011_0.2155861963221024","host":"s3://npm-registry-packages-npm-production"}},"4.0.132":{"name":"@getmicdrop/venue-calendar","version":"4.0.132","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.132","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"3769d85611693cb9df3b014a396d32348708ae3e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.132.tgz","fileCount":100,"integrity":"sha512-cJswv6Mq3YsDLUM2LdhOgRTW+OdnMEH6SCK1puOSnz8wNi9rvp34cYbTTVMVha6thZ77LTlwFfuKoDZvq5jD6g==","signatures":[{"sig":"MEQCIE1MFL54lEw+ZQclnjaewlPoXbwM2l6BUPOSNB/vajf8AiBeWmBXfVihYsSARoLbFbMeVNAEtGxxlO1XNQOMbu7MYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19877989},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1913e5c516499e5150a5f37346830b1a2a3d4126","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.169"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.132_1784947950829_0.10957667997305309","host":"s3://npm-registry-packages-npm-production"}},"4.0.133":{"name":"@getmicdrop/venue-calendar","version":"4.0.133","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.133","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b3f144f34916bffa5dc522a82ee907b3f95d401d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.133.tgz","fileCount":100,"integrity":"sha512-3U6rKJecQ1eHl/DDtucsTP48ndgNpbR7sLfUT67Haf2hwTYqvgKrUqFvhJ0aWMRngeV4jmeKGyEPABq+IlxoFw==","signatures":[{"sig":"MEUCIQC8dTzXdj9G5Bqkl65kmY1xz0ARhkdcLakGZdGTOAnSggIgGQvHRZl6I59F5TVLu/P7TNJD/n8XCuucms6Jnrk+cRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19921380},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"94da75acaa1bea677bc4481e6f93bd396843e379","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.173"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.133_1784958838936_0.16309743919239428","host":"s3://npm-registry-packages-npm-production"}},"4.0.134":{"name":"@getmicdrop/venue-calendar","version":"4.0.134","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.134","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f97e289285e25dfd740aebc6f6669b67473623d6","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.134.tgz","fileCount":100,"integrity":"sha512-U6NYNeGWMvMvyyorHz5EbjzF3tu1QYrIG0G7BHdyRktGRcWt+2u3CTiBWs5PNCt7RUcGEzBCtJXLY2swV3HmfQ==","signatures":[{"sig":"MEYCIQCrycG599m/I9CtZJwdIC+9Pc7zbPapBxmKEs5fuXxBtAIhAKyBM6COm2aBKWF+N+Fv1fPt4CuF6qrq/spPendNA12/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19921380},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"53a90bb1bf2b967253919a5b01353f25627b334f","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.173"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.134_1784964154146_0.6289913722400386","host":"s3://npm-registry-packages-npm-production"}},"4.0.135":{"name":"@getmicdrop/venue-calendar","version":"4.0.135","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.135","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"9d5c81662ff29c2f6c9015e643acd3989f1661a8","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.135.tgz","fileCount":102,"integrity":"sha512-qdXIwzAqRyQYmSs0O7Xc11iTxz7IfPNF/vzkB71Jw5yoL24ZMFfnXgAA8+FhY740cjhUOn46nsmrrJoc0aSHgw==","signatures":[{"sig":"MEYCIQCfqcMZte5+EEZApRnaWhhBBDyxc7UA1jXp4haoIoQfLwIhAMmhcPoOQU92RG9Kp6e4M1h1wC6QrBBfkgac6qqs/zlQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19928686},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"313d864a5548898c47666dbd1a7e838788020f1d","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.173"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.135_1784965958363_0.3085313124026168","host":"s3://npm-registry-packages-npm-production"}},"4.0.136":{"name":"@getmicdrop/venue-calendar","version":"4.0.136","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.136","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"19acd62ba672dccfdbf3f9387200c56394a0a8c9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.136.tgz","fileCount":102,"integrity":"sha512-QhICYYHWl3iwvoFOrDQs2M5Y7M2Nerrlar6gWjY9cipvhECFOLAO1yMyRaE/gh+tYoCl5mkb3xaFcGiweva2HA==","signatures":[{"sig":"MEUCIGp1hPHrXnCfUCtEFyIGLlA+o8dpoaPbHP1AyjocX26oAiEAjTaRKK7iZNx5anr0WY8SWIP4FcnYVseEE3tFC2GxnmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19928686},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0a56bb9c3216a25cff24f9c116906eb9d49c6efe","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.174"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.136_1784969566986_0.18689700608066295","host":"s3://npm-registry-packages-npm-production"}},"4.0.137":{"name":"@getmicdrop/venue-calendar","version":"4.0.137","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.137","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"997a14554c04b3204fed7ea7a0d44d1f4e0e50ef","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.137.tgz","fileCount":102,"integrity":"sha512-LwSEuqrXPfzmvqQ5gc0IzgwdUyMSMYxZPzNNrkYacH91Dos0eq6WWqxy9P+iQMqEVd8AluLG7WdwWgcjnLVSVA==","signatures":[{"sig":"MEYCIQCAsvzoB332iclt3S2Zr6Dqo4M02d8renrM8EOuY7PUdAIhAPrvYu4JXeh+mrYCJZSU2ta4vaWvLf2IDeLcPTbYwjtH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19928686},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f4107d8bb8fa276c7be418eb882d249fcb30da4a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.175"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.137_1784996646947_0.11130779159068327","host":"s3://npm-registry-packages-npm-production"}},"4.0.138":{"name":"@getmicdrop/venue-calendar","version":"4.0.138","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.138","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e8d18f83d2589676f4c7cd19959d18cfc3818a17","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.138.tgz","fileCount":102,"integrity":"sha512-6zwXSR32zcvr8stdHiI6nkhqW4Igq2KgNruLiJeNqg7y3wCzsvU6fnksLDSFe5Gt61GX5aHZDlWga1RkCcRvjw==","signatures":[{"sig":"MEYCIQDJeUj2D/oW65RFelXSaBrJSpewY+3apy6Jj2PX6e8+ugIhAL2dyDPU3bmnGy7JhKL/KKIqhtjMByWDp95Fcxp4MOSw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19927827},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"df7b87b5779c1804dabbc580021392f1fe7d3ea1","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.178"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.138_1785014634224_0.10080427034725137","host":"s3://npm-registry-packages-npm-production"}},"4.0.139":{"name":"@getmicdrop/venue-calendar","version":"4.0.139","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.139","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a01fa00549fc1e3edef25e3efd0b8f87a3f62962","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.139.tgz","fileCount":102,"integrity":"sha512-wAyBAkkkDvmy3WpQpIXEhkekqsIJHLVCvQLeOE3Q22++z7A6lGon3v5xXuYZ6lueZLgUCKyMWCwXKZjiU1z/kw==","signatures":[{"sig":"MEQCIEsG2sN7vlLa8a0Uga84gZcjWC3cAK9vrKnENgE8avi4AiB9nttzq01sU2TdyB8RxH3N4rKKt4qTWPmxPsuOL3vpFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19929625},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d9e7c1ab2c77b65a0f97096baa67c68d1467b703","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.179"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.139_1785016408259_0.2448111895203453","host":"s3://npm-registry-packages-npm-production"}},"4.0.140":{"name":"@getmicdrop/venue-calendar","version":"4.0.140","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.140","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"880741312f7f74dadde49d2242873742da7f227c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.140.tgz","fileCount":126,"integrity":"sha512-YwfyDN2Nh2Q14NDefDbRO7KAPfm8jGuqUDz033vCa20Ida2tkhoJ5J9Q7APLdmh+sA/4ICBvMlhECKcI33XEQQ==","signatures":[{"sig":"MEYCIQC+unW6JyP5mFEK+wO6hLgCqOvozaIFSkspxu4WKaGObwIhALWX5jOWE9AAQrMjS3/Wupz8hiz+sWxjza58MZPOB/2b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19998229},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"82a39c5bcd569f01a9ea850b57670bd9b29ecdac","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.183"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.140_1785056029102_0.40554207527528585","host":"s3://npm-registry-packages-npm-production"}},"4.0.141":{"name":"@getmicdrop/venue-calendar","version":"4.0.141","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.141","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2d12f7ad69c012ac2fa1e1b8f8c5f129cbeb0935","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.141.tgz","fileCount":126,"integrity":"sha512-xfJe2o5J0nQDJ0ygqBdTMU0nqaydUUw+/M4nCXBxIqTVTggLe9zVN1LWQHItPxyAkb11UT8NidCzYJP+4tOHBA==","signatures":[{"sig":"MEUCIHL+WVy3M+e0Igp2tHktrjmNPf3auTDM3FMefhE5YpRcAiEAw4nFQel3GwPRneYTnY6remRkmNIWbJ72HYnha+9zZh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20001611},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"723e2546c034de71576b2f0be888d13fb08dc3ff","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.183"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.141_1785057761109_0.3499909321160708","host":"s3://npm-registry-packages-npm-production"}},"4.0.142":{"name":"@getmicdrop/venue-calendar","version":"4.0.142","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.142","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b04c2687e41ff5bcbb2de82fe77ba232780fce28","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.142.tgz","fileCount":126,"integrity":"sha512-B+jSq01bXK8fUUuWUlzDWZEnXpzmQEEuB4ZvYHEnF78Dseu6CgMmBy3ZSwTuaEvUeJQHEUkVJQ15ifQ5aUceCQ==","signatures":[{"sig":"MEUCIAPvIwgvkrvDOIJrh9FbI2bsRgmQUckyamBrpBQ+4iB+AiEAmDDZEH+he5VDxgynNuiPxWGwh/Q7BiLrSXblNmnPXhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20017914},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"8cfc3b79d48b8f32840676b0dff6aa860aab9d70","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.186"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.142_1785072165547_0.16461334526441207","host":"s3://npm-registry-packages-npm-production"}},"4.0.143":{"name":"@getmicdrop/venue-calendar","version":"4.0.143","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.143","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"011f6d59cd229a3a6d37dffe6dbb0f069d82cc7c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.143.tgz","fileCount":126,"integrity":"sha512-dQlLxEjIFDf4oPI1sVCnosoaXDlbxqSlXmIXoLE8LUokq3nZUe5qO/JDYcku0hK1zd93RbckKRl64G678ye/DQ==","signatures":[{"sig":"MEUCIFWwDM0QKEovndoUEoxuKps7gD5LXW1oXpbKgjdxE98UAiEAkke0ya3y0EB2JtLS702lixdSEi3EBy6dXN8jvxItAj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20018691},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d8b1b75168dc71deb263f603725b8143800065e9","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.188"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.143_1785097349327_0.5446355728733576","host":"s3://npm-registry-packages-npm-production"}},"4.0.144":{"name":"@getmicdrop/venue-calendar","version":"4.0.144","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.144","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"4b7bd5b437866e024db8ce7f672e008055cd97a4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.144.tgz","fileCount":126,"integrity":"sha512-2L1tJY6uUI7D1nw3f3ogoCVKrqRv8r18rJolOZMEQAZAEKL7o64pyQ42sn6nQkylpEnd60UV65Kc7QsJo5PApA==","signatures":[{"sig":"MEYCIQCneOfPt09qjmJDT/Zk5M8zJmKWpI3cq8klMm+7h1nPhAIhAPEvVc6oosjIUstpGUSP8HnuFQd41+5Pzujtix+3oHSx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20018691},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"9d498d9358a09b3fb3e6106db0de6ffa74cef32a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.190"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.144_1785102824287_0.9395159485386015","host":"s3://npm-registry-packages-npm-production"}},"4.0.145":{"name":"@getmicdrop/venue-calendar","version":"4.0.145","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.145","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"cb257cad163690e25240e7b670f798c8accb8110","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.145.tgz","fileCount":126,"integrity":"sha512-8TOKjGpANFLtfjpswO3Sd7une44Q9TIxXUz2Tx1kDMwjfRMigKFdy9sQSldrigVGSLABHA9c96Le7cNWHSSq/Q==","signatures":[{"sig":"MEUCIEIPJw0VBigLfaZCKN9UlDzejpqsbqnngneIMHUOLjbxAiEAnUqCN4Xzusu6d2CMEJ5UO+8qElOM+9GKDiG4l2Q6pos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20018691},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b70665d08ff3a006c77ab78e47b669d2cda74141","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.192"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.145_1785118957223_0.26101367456613067","host":"s3://npm-registry-packages-npm-production"}},"4.0.146":{"name":"@getmicdrop/venue-calendar","version":"4.0.146","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.146","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c66b9df957829666b9bb8f3c6183f21e2f451a0e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.146.tgz","fileCount":126,"integrity":"sha512-QQ3GmQ16LXSArFr+Y4+27jrCfLTnYhBcOR1UTAUUZ0X5p0Rvt4gaxvXYtz7daXZb8LLmF3ANLH9Rdx6F+2221g==","signatures":[{"sig":"MEUCIQDWUw6N/y27I3jvsyBzmewC0J+MejauUafojeO/tvPFVQIgZ8grxCbOJ5ENAcz1IohP8Gey3/xXKExnT4YVtL0xu2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20021990},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"cf8d99b038adcbce5e130934e1dfa2207ca6a0b0","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.194"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.146_1785128077511_0.2970410044438041","host":"s3://npm-registry-packages-npm-production"}},"4.0.147":{"name":"@getmicdrop/venue-calendar","version":"4.0.147","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.147","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1acbab0f8c21a1c630bb1ba2150fbfb9f6d40b6b","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.147.tgz","fileCount":126,"integrity":"sha512-Nut2b84AQkAxYG2qV9HEp/8qG3+C97PWLPkx2xU0vR+ImiTXc+1ajJ/0jKzVIhlS0bjC2DUD7EBS8HBTeuILqw==","signatures":[{"sig":"MEUCIQCiSxFjp1jmhsKPqqbcsaYAcqYDrU+QwDb1KBfd4gcFnQIgQFKARYBf4YqK3jDwBMZ7ONp+s4adEA3dLCEHXmwz+ys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20022209},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"01e21ae9b6c0a77f5cb62a0fef8a52dc4bab1f6a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.196"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.147_1785138771998_0.039737939162190816","host":"s3://npm-registry-packages-npm-production"}},"4.0.148":{"name":"@getmicdrop/venue-calendar","version":"4.0.148","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.148","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"bd689ae642fcc3c4c44e22cd792d6cb2a3eca76a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.148.tgz","fileCount":126,"integrity":"sha512-E9gOz9LJxVmpqmfKZQGdIzG3u0enWpxRIiZhxAUUWmuunqgUdzcTjyjuAof+bnTXohz988+ITiA4LmMqU6ylAQ==","signatures":[{"sig":"MEYCIQDFsEViuUcbQ5P5/WEq36ry6SP+wD3UdeGIZxB00PEtewIhAMDkmcW6gQ/aDG038xi0CDtiABd9G9g0THEKK8Xx6fku","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20095089},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"48f893586b182486b28b0f13d1ce2411acc514db","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.196"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.148_1785140562678_0.4477307977937348","host":"s3://npm-registry-packages-npm-production"}},"4.0.149":{"name":"@getmicdrop/venue-calendar","version":"4.0.149","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.149","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"bd10a4b48f9d1207acc2134338682183b0ae0d98","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.149.tgz","fileCount":126,"integrity":"sha512-RnLUzgx3DW3bnoz2OoK2zxjKh82uKGMYHYcSu0Qo5EQysDSmef47WsV//hspYjYzhLS+9YBUw/cIVOSq2VgtJA==","signatures":[{"sig":"MEUCIQDKAZ1VdVL1cQui3OBKqXkkT3DOcrmx4zIqonGrNPM76gIgQJvPLwcqXxSla6V6OSAan/vFuZlZMxYZzQBnf6vql+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20095089},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5aec3828e0aea85d62665376336443176a9dfae4","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.198"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.149_1785146046203_0.2461285728766025","host":"s3://npm-registry-packages-npm-production"}},"4.0.150":{"name":"@getmicdrop/venue-calendar","version":"4.0.150","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.150","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2bfacfd0a6f553f399234c87bd47aeab404f4020","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.150.tgz","fileCount":126,"integrity":"sha512-5RfX93T9EI0dD29YakUlLiWOUiip/CqSNhyYWVz6Nz7LSsyirHflcjx6xchLhtMLnDIO06/BvPF04JGU6mTsRg==","signatures":[{"sig":"MEYCIQCU0AwfZMBXAmm0xGTCcm3esBDWVWpS9uYvdUtdmDIalgIhAJ6wEIk/Hu8qgvJuEhEHZOEV2IybIq8lWPPDOISJYvZ/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20095089},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"51353b7bbd9fd25f574dba67397fe02e62dbed7b","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.199"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.150_1785160361771_0.7974856325649675","host":"s3://npm-registry-packages-npm-production"}},"4.0.151":{"name":"@getmicdrop/venue-calendar","version":"4.0.151","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.151","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ad84dd347c92e7d02e819be54bce50772fe8c3a3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.151.tgz","fileCount":126,"integrity":"sha512-HbI/TQl1+nz692fSGxJZxlEBOy++0hjsdSMws/mEyxTgpRSi1hEzc0RSlmGSsyYx/zdmbGfvg8D4Ojn1EPnM4w==","signatures":[{"sig":"MEUCIQCrJqQuy/acvQR2xixcqmu7j7F5yQhJvlo3YILPnTOAOQIgeX4/zIyJ884DBaom8xR2ufAR7QnCGJ1M8LQBD2025XA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20096686},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"25636670f616787584b3b9d961dbd77b5f6642fc","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.200"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.151_1785169370677_0.41025202676620887","host":"s3://npm-registry-packages-npm-production"}},"4.0.152":{"name":"@getmicdrop/venue-calendar","version":"4.0.152","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.152","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2a687dd184c31e1d65c96216b91a72e78edffa25","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.152.tgz","fileCount":126,"integrity":"sha512-3S/H5RYeC7eSr1NY4J1jPCNmMQ6VfXSmUWSbGo5L0mstCkVoAuSv0iLyHKNv6Q1QSpdWIT3fMmgUEIvBUBhvpg==","signatures":[{"sig":"MEYCIQCeuiexZJ6HsxLOITIdCcypGWwSUqGqZJLSQYltHPeb1gIhALJ4ZjGt0O26b8k8byqLIsySrEUT7ZKnb2sAvhkCj/LU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20097958},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5dbfce8a3aba0f022175cbbb1af13accfd976cc3","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.201"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.152_1785176575544_0.3073998567249183","host":"s3://npm-registry-packages-npm-production"}},"4.0.153":{"name":"@getmicdrop/venue-calendar","version":"4.0.153","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.153","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"f6357363b46ffa46d233bd5007d02bdc3f77ceaf","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.153.tgz","fileCount":126,"integrity":"sha512-AMl22HVpKTa1b+0gjC1wJU9g0dtR3VeM3Z/1x1Nj/+UfFwqLVKRe9xfOA1ot8uNl0NRWEhVDv4gdeikuEQ8JAg==","signatures":[{"sig":"MEUCIGd9hPgkjZ/MbYEfQ+ulYcMh5CgyS8W7CGROVNzyZfDhAiEAwzXcc1CRVXKA/R0RJx12vgDiykhlHMRIfDgCqxytxGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20116347},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f5b8a030656744f9ea55391b7885c99fc85e91e3","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.201"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.153_1785182025442_0.3244529539086589","host":"s3://npm-registry-packages-npm-production"}},"4.0.154":{"name":"@getmicdrop/venue-calendar","version":"4.0.154","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.154","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ceb6d742bfd8d411692bb6e3b408f9c6b73360e5","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.154.tgz","fileCount":128,"integrity":"sha512-VlSRBTqMCNz7rAZ4JMJB+diDJy5g87qOHAjb1c05e7C3jxUDxvT64y/mE7G0qwL8WLWb6W/7b7wHCCz2YXnKaA==","signatures":[{"sig":"MEUCIBFGwyCRZXtgjJTOfASS+ipTDWoFiWBaYWG9XiO/gS2yAiEAo60qc79iQ82iSiTzCbuAZjixGtnQ3l2AW0Z2dOiQSVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20161072},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a11d8b8dbc61d470a4a3242b80867696d68692c0","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.202"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.154_1785185656818_0.5818311170944295","host":"s3://npm-registry-packages-npm-production"}},"4.0.155":{"name":"@getmicdrop/venue-calendar","version":"4.0.155","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.155","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b7d33f34ed86e04167a02aad27939b00291058e6","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.155.tgz","fileCount":128,"integrity":"sha512-HhnIrJjqgy5uftgmOPoKyPsAJSXUNjE/eLSTworbaE2yl+JJFGZ5bz7yKxra0r+UVdyToEvjlB5LJFSPg/A/8g==","signatures":[{"sig":"MEQCIDHcE5dsdKOUywGySHTgTu7J57NdDpuqSjXau2qTiTJHAiBTKnL/06DaujWZw075OZQYs9UYM92UL3HopaSX6Lz3Tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20162964},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1b683d1e6304aa38b78f4e1f9a38d636b2d0d241","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.203"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.155_1785187458868_0.37272806948555215","host":"s3://npm-registry-packages-npm-production"}},"4.0.156":{"name":"@getmicdrop/venue-calendar","version":"4.0.156","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.156","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"9180689da4528e5c488c83365f76cd651f99269c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.156.tgz","fileCount":128,"integrity":"sha512-hHzVPcljiYUIuUrnltNp+fK6Ar+poKO16lqIbj7P8aSiVlEmZ362PMAiwYXSxW02RdAtzbKlH8Bkq3pDP8ygng==","signatures":[{"sig":"MEYCIQDRl3ENmfsE7omA7DjcZW5Y+g1XkFdnmVpjjOsp93KdgwIhALSME05BZo8akTtRT1tn12VbwoHp2+xBOLixj2iR3mB8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20162898},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e4ec3c822ccd3bacf5d5bc013e12ba4766879781","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.206"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.156_1785201864418_0.5758378511662829","host":"s3://npm-registry-packages-npm-production"}},"4.0.157":{"name":"@getmicdrop/venue-calendar","version":"4.0.157","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.157","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"29cb72a861e55d1b769a2b0775c76fe56e7e8d1f","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.157.tgz","fileCount":128,"integrity":"sha512-bq1/1oDeQ08X0ekoJPndcsa/GBWGK6vq6JAT0EtjM0JuIniRstwYVFlSyIsAtyLqqKvzvboHzAOyHMfdd5fJiA==","signatures":[{"sig":"MEUCIF0i+9bJ2gHzqyXLte4YPcDvVE+8ssAL/Ct4tn45071uAiEA8Kc+kukmR71uwrsV8vr52tGMLY9t+yx8lqCpw2q8Wd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20167570},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5f160e9b11133d7ca0e5e729af2c652a171f8944","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.208"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.157_1785210782042_0.318386807523783","host":"s3://npm-registry-packages-npm-production"}},"4.0.158":{"name":"@getmicdrop/venue-calendar","version":"4.0.158","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.158","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d869d5f0a0a0b68e83eace48da2b562bdde09aaf","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.158.tgz","fileCount":128,"integrity":"sha512-+bl9q2kifa8R5X4515shkC9/rm3uYXxOp3zn8xgmSw8kfwC6A/A/5idnPj2dIM9eOO0zJYH25kA+BlJgW/QunQ==","signatures":[{"sig":"MEQCIAoVSFrwrYv+t7XM0p9gVk9E+9VnyqqknNDQ+NdmKmvJAiAp2O/JhW+Bbm7DiQWRAUDVo/8d24BKm/2XzpSO+jBJSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20170042},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"51cb2eebded2916416ff3a2a437bbc76f44fbca0","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.209"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.158_1785214958097_0.031033641611787788","host":"s3://npm-registry-packages-npm-production"}},"4.0.159":{"name":"@getmicdrop/venue-calendar","version":"4.0.159","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.159","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d6d8465f3939a63cf419c15bd70678e6b92ee28a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.159.tgz","fileCount":128,"integrity":"sha512-2eG6Zlvezft61Q2RhT3GhfN8IsbEsm8fB1HutNz/0cRSoy1Qt93SiO6wOV3wgiLaNQOc5mXj8VhJjnd6TwH72Q==","signatures":[{"sig":"MEQCIGOU3OXcJgw/NgK4yKos8fWNuEMZt9EsKfl4B2Qv/uzwAiA03ol9nxH87OQ8TptgCC3T8flIY3iHbTMPqeFZ6U9AEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20170042},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"68eb3000566be828e2367bf04c40cfb36ba30269","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.210"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.159_1785230417704_0.41337806037399005","host":"s3://npm-registry-packages-npm-production"}},"4.0.160":{"name":"@getmicdrop/venue-calendar","version":"4.0.160","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.160","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"7ffb524fc7445fd512bd5401d447182f1045418a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.160.tgz","fileCount":128,"integrity":"sha512-yy9IjOb/m25p3TrNABArtgxgOAk/0NPaZdBWZByjMA0cHiq2CgMmJSXQ/+bFuqFd8nWX88Reyx/vmUShbZEFJA==","signatures":[{"sig":"MEUCIGVbr8qva3Px+b1EfI8sJ2TeuL+700MPel8cFB2C0DsmAiEAjvCqe4x2iWxaj4v7Unyyf5lRaff3evURR87L82jFfYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20191406},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0890d615849c79e04db4d0542611e0587d6d3b03","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.210"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.160_1785253373680_0.2460095798803832","host":"s3://npm-registry-packages-npm-production"}},"4.0.161":{"name":"@getmicdrop/venue-calendar","version":"4.0.161","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.161","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e310191e2bdc0a68ea28eebabbb3cd33acec42a4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.161.tgz","fileCount":128,"integrity":"sha512-KzBu0Nnuiz3wp6460WAoTzbSfDD9Bz8X3P5egN5t37asBoHbLkd7x8N2xl4/Fn+iIUs63tgVq6eEf928zR109g==","signatures":[{"sig":"MEYCIQD6sBwEBMvXiIa9BVtaFINKq5Vdf/xGbCrKIL4RJ5ljMAIhAN9SKYBFhEOCOHYvmhdV4fIZZkelopYofay7DqbQZEuG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20191597},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"cef50777bf8bbc5289b16f24d53985a1cde122d4","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.212"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.161_1785253797170_0.5847778633060581","host":"s3://npm-registry-packages-npm-production"}},"4.0.162":{"name":"@getmicdrop/venue-calendar","version":"4.0.162","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.162","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"479ac6d490a9f2130471be213deaec07cb26e51b","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.162.tgz","fileCount":126,"integrity":"sha512-MPv9pkTFFLVzpqxJ28Uo7ozDY3U2eS2+ERrFjBC01fsLNbNIQJtActOANYSgrPTmwqM/cp5SLuIkabw6XmuHNw==","signatures":[{"sig":"MEUCIQDMy9P4yZ2rNmslDOx4MJN3JendaadLHab/hkjft4SUMwIgVVkHNHoQpIKoqhX030n0Dv0IbNjmSyp5jSrxnHsn5hs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20234470},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"fd34249004b73e9119489a85b3a090a415fd4278","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.212"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.162_1785263038929_0.195297313903106","host":"s3://npm-registry-packages-npm-production"}},"4.0.163":{"name":"@getmicdrop/venue-calendar","version":"4.0.163","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.0.163","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8311eb2c5fd02c4a5de865cf28a9e7da7efe6f6c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.0.163.tgz","fileCount":126,"integrity":"sha512-q6CiefacYki6ZN0wtKNzodH5kPfLkRkIVgreUBvN5EsNzW0fFRrARO0+RAcxsNvY1XzTaQGSD08+pGQcRXS3fw==","signatures":[{"sig":"MEUCIQDXuy1e9fmOHqGF/i+WgPoDeoZhC1NFGbzbov7sKCYYCwIgFZ7Zfio9PjhoQtyXJOEwA+oBSgdITQhKbkw9AR0sMPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20234470},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b1b4b9e7f98da8587ae8ec2dd3af275ce9720543","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.213"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.0.163_1785265192681_0.029410366969051083","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"@getmicdrop/venue-calendar","version":"4.1.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"cc7031c14b604a3aade4e477faeb32b1ce479e57","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.1.tgz","fileCount":126,"integrity":"sha512-/7dAIGst6niHFNB8dg7gU3WFXLABMPoaHag5v+EblpgjyBrQ/Jb0miPdOWN5mj5LrJ/wtDjOqn6H2mn3kx3yHg==","signatures":[{"sig":"MEUCIHKJvpEpHaVBRqlxIbFDzM3J+SKAelKVVyTj1gijstyDAiEA2pAabwSt8yGRv6UfsCFS25gLqQz7BPicQqnXS5/c77c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20269454},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0bf51b278b179f5bef535f65f6b51a70ff437898","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.214"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.1_1785278968376_0.23105985491101566","host":"s3://npm-registry-packages-npm-production"}},"4.1.2":{"name":"@getmicdrop/venue-calendar","version":"4.1.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"65fb2cccc901ff9a0b1ece922d7da5ecf32dc484","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.2.tgz","fileCount":126,"integrity":"sha512-grFRRyAZl78sOANCrdKmPnvpfdXghjcQN4A7meog2ivJOipKqb8A91W7ge8AhEn4IOPMVwQDcqzL/XyPjHQelg==","signatures":[{"sig":"MEYCIQD5Eiey6lR/UBM5U2+aA6NIqcGiOrkJZ47Pj0EDSBA2NgIhAM+Q36nNcdL8CXwp+4p3alQTdkQCr+MVsNgO5eAW4O9/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20231975},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0bf51b278b179f5bef535f65f6b51a70ff437898","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.216"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.2_1785286228442_0.3876795456421729","host":"s3://npm-registry-packages-npm-production"}},"4.1.3":{"name":"@getmicdrop/venue-calendar","version":"4.1.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a5e5de5b45dca2f67a22af73fa609766a99bd554","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.3.tgz","fileCount":126,"integrity":"sha512-yqQ3QY0A5J95pAoKXvAD2ntxW93rvLuQuD4mSelFEqzDrEGAw3sTy5iRgLAJxRNh3hqrFBmKIj/1Yfa3dF5ueQ==","signatures":[{"sig":"MEQCIF/OMl4yWWKAm/zeCw0EupSWDnjLPGeB0tDc6Fs12b7PAiBeSx49Vv6oV8kU3hPOLhEJwS0+Su0AMZ3RPj0m8MwbRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20229091},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"66b3739f4f639e0cf12c1e4ffbf2d158c4387c2f","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.217"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.3_1785297385503_0.13715361143568217","host":"s3://npm-registry-packages-npm-production"}},"4.1.4":{"name":"@getmicdrop/venue-calendar","version":"4.1.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"180d6a7d841ce1841f3494c5dcc166cd2a77158d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.4.tgz","fileCount":126,"integrity":"sha512-YjLZUKeniIxme4tBXWfQveXZEm1v1vWEVQa6CcXiWi4YoX5xrrh0/E3Wf+99OZf/NFnbN/PnXarxpnA4cTHDCw==","signatures":[{"sig":"MEUCIE265vYnR2TufyetPX2P5yDtCBOCxNQ+AH6WbLtLOo5ZAiEAtJk+kl+CcQAN1uVi+fyI8LPw1BBUFEsKO8xmtg/3uBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20229091},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b86f8785fe0ae8633a022a45dade4c5e107a2be7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.218"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.4_1785300829838_0.27406880712571735","host":"s3://npm-registry-packages-npm-production"}},"4.1.5":{"name":"@getmicdrop/venue-calendar","version":"4.1.5","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.5","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c70786ea2b00083b8c7b9f7ff375e477de8b99fe","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.5.tgz","fileCount":126,"integrity":"sha512-w7pzjf9eLKD4Q7iAdqz32tD2NCi+GUu3eR/+f5tEiMayRA1QLyWkmEohTdkCBxsYckEb6plo2ut7MNlJPNvuJQ==","signatures":[{"sig":"MEYCIQDK9GIyXtNlA33Y25RNEJip30lgeuo8gKG6YBUSCfRZQwIhAMic00TLmmEbnZ76rhy1NgnGGWEP+FSzunTM5iX3v6zj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20229091},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b86f8785fe0ae8633a022a45dade4c5e107a2be7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.219"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.5_1785304035925_0.7298442249253663","host":"s3://npm-registry-packages-npm-production"}},"4.1.6":{"name":"@getmicdrop/venue-calendar","version":"4.1.6","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.6","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"034971c7481db4009443c74a58ecf0371e585f39","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.6.tgz","fileCount":126,"integrity":"sha512-J+DDIZ1OTYaAg7nCM586PNfRgEqmdA0NGaeKMbZPCMJkZnFiLsEwqQAEG9sHvHe9kGY8wmtd1Nh8N1UZOMD0XQ==","signatures":[{"sig":"MEQCID4EJPCiIQJUDYwkZk2T6/hj2nCSxfs7UILDVynrouIpAiAl2C2ymE4FxvqTJ8KOrJ3MNzgJQmuqm7Pt8xNEXSzM3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20229592},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b0e5168798790037065b99be5baf247e80576621","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.220"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.6_1785306143650_0.7101064892203568","host":"s3://npm-registry-packages-npm-production"}},"4.1.7":{"name":"@getmicdrop/venue-calendar","version":"4.1.7","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.7","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a3f03fd0ab4c9306f81ce6de2385b98cf675acc6","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.7.tgz","fileCount":126,"integrity":"sha512-rkOJw0geLej4JDVQunQyZ69CcGvuG/zN6FiUTnllU4pEHZLlG2LHxI53kUdDyQJQwVpYGb+qjI2vnjcIwHLNsw==","signatures":[{"sig":"MEYCIQDH2FFJeuadGUXMI20n3oaiVUFNeFzMHNuJ0aqUQbkuUwIhAP5fdO+3GzbzpQcqPiAbS0dw9WdX+c2mSyK77AFUgMJV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20229592},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"10a4f1fc7d385969b341ce027e19261f3bf5beb0","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.221"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.7_1785309839073_0.3933812701764121","host":"s3://npm-registry-packages-npm-production"}},"4.1.8":{"name":"@getmicdrop/venue-calendar","version":"4.1.8","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.8","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"eb9cafe0dc2907560527049871518dfebe8d5c52","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.8.tgz","fileCount":126,"integrity":"sha512-9hk2P4Q12MkxkIDmkQRwu7HMrssNOXHu+xAyvgM4MkVslExOzIfmKTkLT9RqBN0kF2ICNc2Ec4aQ/NzmfSUhiA==","signatures":[{"sig":"MEQCIBFycgJVjyNbd5nw80cpILeCzlk3adnL54gamUMHeR0SAiAPT8DMlpR0XlXvsDXPnowyczcfJpsE8y/LbbCAcPl14Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20231406},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"3e60ef6ea80e5f986dfd13d885a94f3bc1b714d5","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.222"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.8_1785312898120_0.556370740231757","host":"s3://npm-registry-packages-npm-production"}},"4.1.9":{"name":"@getmicdrop/venue-calendar","version":"4.1.9","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.9","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"54b7d3541883fe4560c62d0a00d08f23e7653f69","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.9.tgz","fileCount":126,"integrity":"sha512-5jFDacEgMeTWLddz+mXC7645hTGe/QWCbzK9oqlbfQldJ2vZVuk59cTlGBIKXhI5n1n/2CSOqgGe8n7YM4g1NQ==","signatures":[{"sig":"MEUCIFxZXAp0ZgLUmV+uSMboq3VsqALePYKrLzFtw00X4ljCAiEAsIo+zuE5tiS2WhkIsqs0F1Prog6Vo0/qZSB5oToHpR4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20231406},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"96dacb96eb8a1fdbc037455f736c8b4a5a1466a7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.223"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.9_1785314208181_0.9789571406134356","host":"s3://npm-registry-packages-npm-production"}},"4.1.10":{"name":"@getmicdrop/venue-calendar","version":"4.1.10","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.10","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"62c742aa4486a9928007f410c6239fee24d9540f","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.10.tgz","fileCount":126,"integrity":"sha512-yQI1vOc78sc0Bz1SjLCHUwrr62TwuNC0WIbbe/sCBTDKc38gdpGZ0qepL3ZAqrutD62+NLgYmMP2XN5lCxMGWw==","signatures":[{"sig":"MEQCIFePxSFZTPTYkEJR7N/j5uk72LrQi6JMYnbOM3w7cKIMAiACiLA+msCValIMhPeit8D/fjtdHm4YaIuX1LJx05BBMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20231996},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"8376020fe87c5bcdc5f7ae4dc8b4e76f384d6ac7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.224"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.10_1785315289219_0.03358343848923506","host":"s3://npm-registry-packages-npm-production"}},"4.1.11":{"name":"@getmicdrop/venue-calendar","version":"4.1.11","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.11","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"84921bc6d0d54f5185bf8767df1d2dfa91f84bcf","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.11.tgz","fileCount":126,"integrity":"sha512-3Cs/nFgvxjOaSGCS/NXth1+hW8G+FFvXysHSMG8t7q+HzcjkPGgcnknUql9hbqFo/ZVXL78s+WvEIH9YphUuiA==","signatures":[{"sig":"MEYCIQCutlem8AntMmcVq5cr/ZIgUWOtVUrjupT33q6SxrVIxgIhAJDMhP7h5ONVcic+zIsexRebyUSHBBBWo6VoPouOVSaX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20232277},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"8376020fe87c5bcdc5f7ae4dc8b4e76f384d6ac7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.226"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.11_1785322700918_0.2435246111056979","host":"s3://npm-registry-packages-npm-production"}},"4.1.12":{"name":"@getmicdrop/venue-calendar","version":"4.1.12","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.12","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"43fcbffe19f6f2dac7ebcbca7beb57bdc3b5eca5","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.12.tgz","fileCount":126,"integrity":"sha512-BUMqD9xyak04sa/VL+TGLIBICwbUxXueEf0for9GkyxD4oVltsDb/Uwvi9Ly+t09DLvF2M2czEPBRWDp4YE4Hw==","signatures":[{"sig":"MEQCIHzvEKySzRtK3MrPYq15Dgy+g7hhNSZINuAJLwvJuLP0AiARf1OW4Dd90iivsIpRZUgSax0yiLWgNCjj4kwwW6j2pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20232277},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"eb96e6e5306f6a29049a004e0b5016e19345a913","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.227"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.12_1785324931444_0.3557126514251723","host":"s3://npm-registry-packages-npm-production"}},"4.1.13":{"name":"@getmicdrop/venue-calendar","version":"4.1.13","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.13","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ce5a46fa1680e3c65e5a232f98370b8a74486860","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.13.tgz","fileCount":126,"integrity":"sha512-5w5kpnLg0DVIw4A79A402bmiRLbi++8YulWp/JO/QOPs+bpLBuyxscjvgehaZiFXNicmC9AQHqwh1HvZp+8UvQ==","signatures":[{"sig":"MEUCIQDWeAyxx0wJwA1GaRvnLJy5nk38psE3paWMSO3E6vpOsgIgRLVpe71yfafEz5QG7AjcY1Dp55y2zeLSTLZx27n8xMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20232277},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"217a0d113f0533245dfad5aa57e32fd208cb8f71","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.228"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.13_1785329276109_0.5768694188938068","host":"s3://npm-registry-packages-npm-production"}},"4.1.14":{"name":"@getmicdrop/venue-calendar","version":"4.1.14","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.14","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b6f520730fe32f627217a7428a715806ab0e1eb0","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.14.tgz","fileCount":126,"integrity":"sha512-MZyH13B9jpDJ/D8eMK5OHlVQgkRwW6NheOrWfWU4RI2IOy7DQwdfGFyeo5mUZetNeKAZN2KkqA0UeRF2JRfK1g==","signatures":[{"sig":"MEUCIC3dx/y0amGjP/Ab8t+YpsqNZWx8M2hvSQ6LgAbll/ktAiEA/vgyRwyrLr4W3/5D66YlfeZJNLnRckyKqQ4+q92in0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20232277},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1af6a25af404bdece154f061e5807a878d9df6b5","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.229"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.14_1785331537931_0.9781499659923913","host":"s3://npm-registry-packages-npm-production"}},"4.1.15":{"name":"@getmicdrop/venue-calendar","version":"4.1.15","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.15","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"75b00bb0a333d669d30b28018b4efec3ca3553c9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.15.tgz","fileCount":126,"integrity":"sha512-znkZ5EUKl7FcWUq88Zcf82F9SCcyXBRv+ASdE6cqbGe40STL2wrQgeap6hV2kKUl4q2SlSkvre5ndQI6ZP3nDQ==","signatures":[{"sig":"MEYCIQCBCdz63S1Nln5K1cRHr0Z48WzHOMl7k5GHLwBHXO53gAIhALitrG0EB/M9XsTerya6Ne1HwZZ+cYEPJkeCHs8LhUgy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20232277},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"7f73e5730d7feb80bbf6468f209ce0de25bde1d7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.230"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.15_1785333245991_0.026592585437868577","host":"s3://npm-registry-packages-npm-production"}},"4.1.16":{"name":"@getmicdrop/venue-calendar","version":"4.1.16","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.16","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5ae2e6e0022eae488986da96c89a49a6ca18db12","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.16.tgz","fileCount":126,"integrity":"sha512-B9DzbF0xh9ySwDmDOgRt0WGHxgx4n8+UEgvx/DJ6wvbmnD1R124+EL8UCR9nKTZVk/HfarLMSWMlMBRNBzxO7A==","signatures":[{"sig":"MEYCIQCqwpX7l9rut6tCHpDP55l44qJ5Rd89E5BHtCu/OejIYQIhALI5wb++1ydYdzQ5rHUUMKiqLIOp6Xr2EnMQ+Hikaudw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20232277},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"7f73e5730d7feb80bbf6468f209ce0de25bde1d7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.232"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.16_1785344151847_0.998183753828612","host":"s3://npm-registry-packages-npm-production"}},"4.1.17":{"name":"@getmicdrop/venue-calendar","version":"4.1.17","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.17","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ebf95102ad0adf97227beba4d29ac558eb3ffaf6","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.17.tgz","fileCount":126,"integrity":"sha512-nSGjVyHw5BTMMy9rLx/kfA94mlZf5voTNrR50LcCFZQLG+EYPsInkMDZkB+7/Jh9wGsLPLx0Vw4YmWiukPbSJw==","signatures":[{"sig":"MEUCIQCK0f48ZovmplFGzbrqT1O0YDqs8FcH2HxxeuKb0WaDTAIgb8k2Y4ZSJUL36rTgxfhHvnzSPDhHHkU3ALXsjFkLFac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233969},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"06c5b66e0a0977d79408482f8f5fc084e2bc22e6","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.233"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.17_1785344880079_0.44652397374960806","host":"s3://npm-registry-packages-npm-production"}},"4.1.18":{"name":"@getmicdrop/venue-calendar","version":"4.1.18","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.18","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"9004161daa8a0f2c4e6aa8116d7c064991eb0f3d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.18.tgz","fileCount":126,"integrity":"sha512-uwUPSg5QKJvRUZMm3uO2u81HBPiNwDlbcS1g1QiQPvAs6FLxmCUjm4LPwF8MVEMQ6hscSORJX5wZuTXaFZ4Gew==","signatures":[{"sig":"MEYCIQCiZsOIyXDbtP1Jq4LCuLn3XFwku3kdpT5dDXEgQH+UnQIhALxX5vjPT8gDJ4sNcp8GZ2GFI0FycXejBPydtmhrt2jg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233969},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f5fac15f50341066ac5e4f744070e8b9a01214eb","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.234"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.18_1785347903565_0.9840494309157739","host":"s3://npm-registry-packages-npm-production"}},"4.1.19":{"name":"@getmicdrop/venue-calendar","version":"4.1.19","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.19","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5d7cb50ce1d30f9f474ce077265f98b2851b856d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.19.tgz","fileCount":126,"integrity":"sha512-0F0AJDaBrzOmcFdSkgpy1jlfeubk+HiRwdAiw+Xih5j9ZTG/xrBFNnLdlXG4Jzy4HkvLNy+5yA43Ga6RS+Od7Q==","signatures":[{"sig":"MEYCIQDLxf0kZCyx8bqBREHiBfMddDdTe5qgBJLc+9udwnc5iQIhAIAGSoKDa+U8un4C2Vodv0tPMHmD9za7m7SmGcnt2es+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233969},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f90fbc27633f33e085165b478570eefb3cf47b5d","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.235"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.19_1785350109180_0.8622700248271233","host":"s3://npm-registry-packages-npm-production"}},"4.1.20":{"name":"@getmicdrop/venue-calendar","version":"4.1.20","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.20","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c3cfb97e6a4c92780eb06efeda91218abbb94447","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.20.tgz","fileCount":126,"integrity":"sha512-i0PfOSSBYZdWfJ7HBwN7T5KYnbpkrSdmUZzG6ihzH24n3lFY4C9Pzjrw6dABWv/ern94RX0lsBN9nVEXDxBlHQ==","signatures":[{"sig":"MEUCIQDrFAIp++occ2SMdNoKL9WjwMkZjHwjDPdD8bIF8skIxwIgUMtwtdiCT+BRGVTi1xMjFhjv952xxhiXmKGsUsvVBC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233509},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"ced5b6a23839105a621a7057c8a458659c38d913","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.236"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.20_1785351017038_0.5216035281916476","host":"s3://npm-registry-packages-npm-production"}},"4.1.21":{"name":"@getmicdrop/venue-calendar","version":"4.1.21","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.21","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e8354d245b6fbd1357e233c1950cd1fc224beafd","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.21.tgz","fileCount":126,"integrity":"sha512-tDWStmmgJ9Mge769056D5KxnqjmHlZy5222nM+sd2GYZIHt1wQC76WpK3IGpQ5c4vy/GAQAhZBevwcadAyUB0g==","signatures":[{"sig":"MEQCIGdspTyOpTsainfFHeExF70pCK8maXBPfGUO/bWKfQ4tAiBR5wyme+BR+rEs8OPqZ2VOM0qW8NoNHhTbFASlvzo9Rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233623},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"21c7ebf16e3bb646a03eff76f8174cc9d3ec2d3e","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.237"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.21_1785351976340_0.6109093412635549","host":"s3://npm-registry-packages-npm-production"}},"4.1.22":{"name":"@getmicdrop/venue-calendar","version":"4.1.22","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.22","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1b397e9fd108b942a10b4b52511a0ad31f8a2b7e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.22.tgz","fileCount":126,"integrity":"sha512-Q2JeUtXb36MxUl4jsqprr+K65QggLGp7Du/8uLyNXh5NL58p/kK74L/m2RnTlwwr2zJaeS/OAY+rYaUDrJ734w==","signatures":[{"sig":"MEUCIQCuEDpbWgoSEnI4juKBIVEYXbQX9jJNtPJD78Zex73Z5AIgZCjvMI+h+JEEXTamYjQuH3y7kbkI5Foh0hLBd3xKQrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233623},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5b60e73a449f37daf80eb37a579e7abd53debb62","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.238"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.22_1785357794844_0.19406257127095916","host":"s3://npm-registry-packages-npm-production"}},"4.1.23":{"name":"@getmicdrop/venue-calendar","version":"4.1.23","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.23","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e34b34c86d8372e5a8b90f221a52d43af31f7e6a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.23.tgz","fileCount":126,"integrity":"sha512-Vfdbd8n6z7GADGC7kHSgF/UgNHg+vTeva/M2KPx3Ds5Wz6pzx58c90h04CNM2Cxh7ZHT7QSdXpl6Xz5O7er+iw==","signatures":[{"sig":"MEQCIFPq2XTU3CCvCLKM4SWy7JLJIDaYhUYd9zIy/oIgUsYPAiADnfq59hSFnUuw+SwSHFuXA+CK47z7KGBcrHin3ngCyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233623},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"436ef6a99090d96353e75ef072d9632fc9f246ab","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.239"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.23_1785359483754_0.005159789946714399","host":"s3://npm-registry-packages-npm-production"}},"4.1.24":{"name":"@getmicdrop/venue-calendar","version":"4.1.24","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.24","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8f1d33d797c615b0f1db3f4cf60bf3b37f7f4011","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.24.tgz","fileCount":126,"integrity":"sha512-2G6ELpAVCL73DesGZ0qMrnL/alRI/CMTKllKHe5tWEMC4EMO5xQfkY1NWu0IqpfoVA0NrcK8tkwAlDorhyUfxQ==","signatures":[{"sig":"MEUCIDUTHBF03EpgX8zl9ffZNQ5Se0jzrOVTheXKUJK4B6A2AiEA5ZT1cabFEHd3pLxNgzm0ECWauvrsloRqpIy9IixvXeA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233623},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f67b9d6dbcfc80909bf60fdaae7282ff850ed634","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.240"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.24_1785362019727_0.25458108796549195","host":"s3://npm-registry-packages-npm-production"}},"4.1.25":{"name":"@getmicdrop/venue-calendar","version":"4.1.25","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.25","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"95bc7fe6e3bf27ad74abe5e9876a45d97c5c596a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.25.tgz","fileCount":126,"integrity":"sha512-CVDXPfW7CfsZdj/3Ep4s7ev2xmsEqlgyorNAJ9H2TUz1t3IuYWspJ825uffJKxF/7cv1OXb9O9ZeI3JrAzIttA==","signatures":[{"sig":"MEUCIQCTUjJvplJCwzM+WwrA1AQKLdgJFclJpytxm4S+pPLMewIge4gwJJ5GKROatyzRLL3JC3OLXD82/ho9XcLkWWgFp58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233623},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f67b9d6dbcfc80909bf60fdaae7282ff850ed634","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.241"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.25_1785364538192_0.4179808787018624","host":"s3://npm-registry-packages-npm-production"}},"4.1.26":{"name":"@getmicdrop/venue-calendar","version":"4.1.26","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.26","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"db10469bf2d1651b45664ea4435aca599532662f","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.26.tgz","fileCount":126,"integrity":"sha512-y43XUQ/L8B/U0HB8l3XoijP5iccxlsXLe1q3vawcwpstwAgiuQCVacWkCW1/urvpd/wqRkAvYlaAcluBvj9fGw==","signatures":[{"sig":"MEUCIEieZSlTC3OGYHoqFc5j5ankcY8TLEuh+/VYHiVW/DnmAiEA3bxUEj/FOHe7yUOIz1eF2X+kE1KxSYW8xG24p9ee0kw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233857},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"380974af5a125c90eafb02bb38f34717bcb2f35a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.242"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.26_1785367110021_0.8901065855392698","host":"s3://npm-registry-packages-npm-production"}},"4.1.27":{"name":"@getmicdrop/venue-calendar","version":"4.1.27","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.27","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"9e77d4082749b8394eae080ac502e40c0a524909","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.27.tgz","fileCount":126,"integrity":"sha512-HqkNUsZv88WYUaWjDSQpXoX92iHver1zo7/WudVIj5oy5iRyi2f0Z9qyt7rTPhOfAteLF8aakyrW1cipB0bdkQ==","signatures":[{"sig":"MEYCIQDYE8JOUDdpLmMcA2YnEPBI7Q1NVS4cZ1nkQ76M/noFSAIhAM+SC4U23KK68Zdc+ZlfjVhsPSR46k76P9L8lQTiwUl0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20233857},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4feb609ada205e5a2d2dec6459079a9f82e92dde","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.243"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.27_1785369250521_0.23775828808687982","host":"s3://npm-registry-packages-npm-production"}},"4.1.28":{"name":"@getmicdrop/venue-calendar","version":"4.1.28","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.28","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d9ae6702a9a3b94a6a39bdf9572ca6285fdd9510","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.28.tgz","fileCount":126,"integrity":"sha512-lnsgsT64p5uuzx1C6T1yq5M3zkzdMvEPfq3Y9Mwg8EzM1nvlUOBmek+ho8OS6YwQJOgf63d0LESSTp2voEUx7A==","signatures":[{"sig":"MEQCIG0qJu2Ir5y5vEz+JG70KRqRSJvb2XhtYatjZPPFb5afAiA9aVMUVmq7rF5P27qKfPANh1XZimuaoVSuiGO4CXPWLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20234010},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"14f6451b4ac4597d7e865689b3a918bd1a0de564","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.244"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.28_1785371508831_0.020238823586469668","host":"s3://npm-registry-packages-npm-production"}},"4.1.29":{"name":"@getmicdrop/venue-calendar","version":"4.1.29","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.29","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"71b662a00ec0bd0eea695c99260ea3497c723117","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.29.tgz","fileCount":126,"integrity":"sha512-xAOtB7eYXEtPLQ/c7cxCiIhIy/I6N51zu5Gjv8fk7f4ZCIHp0OMBPJjn6KbliAwGjdvVsf1H6SvZIxY5L2CQLA==","signatures":[{"sig":"MEUCIByBPxNOyzS9nHBAkzXgPkUZW1fEspBE3CJtSqiyvtebAiEAyy2pTRBM/fgMySY8/jZb3h1tAuSXfbSkLvD4h65MQTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20236923},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"79609becd78df38dc33d6046b4ccae5e04275e56","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.245"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.29_1785375107099_0.7673331200507973","host":"s3://npm-registry-packages-npm-production"}},"4.1.30":{"name":"@getmicdrop/venue-calendar","version":"4.1.30","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.30","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1e500d95a5b0c9829a5109b75d36433f57a83c12","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.30.tgz","fileCount":126,"integrity":"sha512-vTbTSysNjZStgv05AdP6sH0MnovOnC2xYvku+Y3cJG/8jM8q5hqOJ6aIHqWNjLkSrWtfpTPEYqueH7HaI7Tx0w==","signatures":[{"sig":"MEYCIQDK+oOoIdPyZ/4funTk3b+YvAX9NVQ92nLCtRM3HDlS+wIhANimF3nI+TL7e4I6ByECNugzXF10/XDmgojVAGLgWXiU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20240245},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0b3d7eac2f3312d7ac46c812f0fd128ee504069a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.246"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.30_1785376328727_0.9280020634189363","host":"s3://npm-registry-packages-npm-production"}},"4.1.31":{"name":"@getmicdrop/venue-calendar","version":"4.1.31","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.31","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"512a3e6213d469d2f115d19c6ce4ce97c8a5aa99","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.31.tgz","fileCount":126,"integrity":"sha512-umZ8CN50EPM2CsTC5L2tJy4vgRhA8dKyYnTvfJ1kymldYQHNPa5Hg+pFVWDUD7RAZekLcV/K2YPmVRJavJP3VA==","signatures":[{"sig":"MEUCIG02lnwhDR4+RciTkXTl8zsYlKro63Tjrk5MtwYKq612AiEA2GyUC1z8CqcbSRCZdvovJ/YifeAXsamymFRrObpxCyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20240245},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"cecffdf0b7b7ab794f01326a28e64634dce33c68","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.247"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.31_1785377337170_0.8837112885676299","host":"s3://npm-registry-packages-npm-production"}},"4.1.32":{"name":"@getmicdrop/venue-calendar","version":"4.1.32","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.32","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6def9ca1f21299a56702dabfbc284e25a747a83d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.32.tgz","fileCount":126,"integrity":"sha512-c0IvA6OrsPzKRqemTG4+qjbX2VjbmdvT7+VG8V5oqskomxG2viyXubxfn3VDGZ9iiXetZBftVGjvWr7Sxswz4A==","signatures":[{"sig":"MEYCIQCfFZKWEKwQ2P3UirHBudPkY6Sdu/o4+7FOlSI8fOiYnwIhAIliX2f0zpOeQgBgh4Zf1lWtlsGeFvz89QctB8gaAh0s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20240245},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b823efcbce4391ac5330e53c71d4e7d1a92ea8fa","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.248"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.32_1785381247681_0.17594231432670981","host":"s3://npm-registry-packages-npm-production"}},"4.1.33":{"name":"@getmicdrop/venue-calendar","version":"4.1.33","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.33","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"7b1992e1666fa17e0ca52a9c5a05ed4186f09b88","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.33.tgz","fileCount":126,"integrity":"sha512-pgqPbBas3MqkUqFVsEkAP6ZK4CI6Gtto88bEnoBrTlIPySiXv5vX91SseW/bJoPsSRIn6GZHn/4iqG6RQnvwsg==","signatures":[{"sig":"MEUCIQDRVB4t9Sg1BN+75P4Q+4+reneSSCPL5/qseKbtBYmAzgIgLbdVJ7o4kCO0ihUK0a7LCyr85POe6f0IYguHH3lvXbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20240245},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4b6657a42c5ed2ddb554ba2b2d69e9dd8a865800","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.249"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.33_1785381984751_0.22961972840880174","host":"s3://npm-registry-packages-npm-production"}},"4.1.34":{"name":"@getmicdrop/venue-calendar","version":"4.1.34","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.34","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5a85f2b892b58905c7ca45503eeed280a5788cc8","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.34.tgz","fileCount":126,"integrity":"sha512-AtVXvWq2ufTnfKVEdfNwCgFLkvacjgClG204MW1mCgA+q6YZIBnt9bFfzIkWQA7hAnQ1chrckmM+ssEVq1bcDg==","signatures":[{"sig":"MEQCICg3sPliRQsb4DHVE1LBy7eYStrAtoC4IjCKE+yGkQqEAiBmSi3I1ZorhlQyGFhpA4FY+cOTRBLt0sxnSu4DwQBGHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20240537},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4b6657a42c5ed2ddb554ba2b2d69e9dd8a865800","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.250"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.34_1785388717284_0.04488340663478607","host":"s3://npm-registry-packages-npm-production"}},"4.1.35":{"name":"@getmicdrop/venue-calendar","version":"4.1.35","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.35","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"fac7a274c00f8de4fe01e0cad2b72bcc92591e46","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.35.tgz","fileCount":126,"integrity":"sha512-OHyx/8DbQHgJFtawA2nDFA7eGLaubAZOPGpxqEBIvhI8e5uzRWFHBsPWjKVlOMYoXlPRlVlELHmVuxIqeCx3lQ==","signatures":[{"sig":"MEUCIDcmMLhrzPHSZ6hHmx9fZtwsgUEyXm4h29maNUHmdWsDAiEAoQGt6XrSJupt4+pVd6WHxhZkuVZa9y+ZvtfoWtHU9Tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20241397},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"ab55c2cce3f49bb25d9d2b53050e4ea461456161","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.251"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.35_1785389928864_0.43391810744332804","host":"s3://npm-registry-packages-npm-production"}},"4.1.36":{"name":"@getmicdrop/venue-calendar","version":"4.1.36","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.36","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5533c9a09be655c1312c432d64c76fb499cf7c48","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.36.tgz","fileCount":126,"integrity":"sha512-5lAF9riPSl04HomUwsyJeT8uxgfaRd7EJa4vZ/lczkje6Ka1vm6zz8y+rzlVVyS33B6HAPMdkyH/5GtmyXH+QA==","signatures":[{"sig":"MEQCIAZ5Kpoul4KKJe/sFZ+fehfwehSi4O36yw8KR87DUv9cAiBPpHB/+h23WrRJIzOIYQKpI3hGCF35rNMuEQoyrOGJlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20241397},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2893bccb71f9ad585dc195d7fb01255762ec70ca","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.252"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.36_1785393417282_0.16471748307403966","host":"s3://npm-registry-packages-npm-production"}},"4.1.37":{"name":"@getmicdrop/venue-calendar","version":"4.1.37","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.37","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d980fc0770c57af0aed46184fa34e0b77a9e7b56","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.37.tgz","fileCount":126,"integrity":"sha512-E7ne7MO06IJ06GPYfmL8K9p7vbkPOix0046Tm3h6BvNsbQLhpfF5uazKaCxcXTnTWsUXMOD1+oMQgziLhcdXCQ==","signatures":[{"sig":"MEYCIQD4obc+Mq9CNrFZr1w2ek0me4xD3FaVPdc6KNnbqqupPwIhALEhACI8YdZVyvsV9frDvRoUKM8V5vCHAkDxSIAqsFWg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20241397},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"751a93b4d08308a5d76b4eddf9836f9cd9dc79fb","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.253"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.37_1785394348598_0.5754119460988723","host":"s3://npm-registry-packages-npm-production"}},"4.1.38":{"name":"@getmicdrop/venue-calendar","version":"4.1.38","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.38","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"692fb9228735e292540e3e0b9dd3d07bf9e486d7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.38.tgz","fileCount":126,"integrity":"sha512-yhicyiqzSDsqToGk654X3FaO6TU+3uxaE2Qtx6ODsGzPqKhhKmZPfWflRPWzvstn//tAUBEKQ0HW2wL2OUAbOA==","signatures":[{"sig":"MEYCIQD4nikhWgO2VZhMLKg4otdmdbkdTV7OfqGysC/R3sY98wIhAJrC5J4oK4MNwAPZDg2ffdZrBfr3qrljtT7RqWI2oUYs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20241397},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c91c6b05d5963d8be5fed2c09e069e8717b120bd","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.254"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.38_1785397911327_0.6206385201738036","host":"s3://npm-registry-packages-npm-production"}},"4.1.39":{"name":"@getmicdrop/venue-calendar","version":"4.1.39","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.39","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c86ff5bd8b9a2e6026c1c7fcb17de7e6caca9c4d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.39.tgz","fileCount":126,"integrity":"sha512-hE/Zb8PIAVSsTz0SpaiBakWxJV/p57n44stBatTMtmgkm7Bi9XPrNpF77Kx7ixbhd7VLCrqm8fDKyn0uJwonjA==","signatures":[{"sig":"MEUCID3T5BqUffQVJsbgdbgBpQNB11soEwBZBOeQQIi+imy4AiEAhV37kW153NayicAEk9UE6g5GQs/pOgJwMvkj7bf3sKo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20241397},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"112b984a6244b0600734fae44c8423407d015f19","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.255"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.39_1785399808334_0.584118663021586","host":"s3://npm-registry-packages-npm-production"}},"4.1.40":{"name":"@getmicdrop/venue-calendar","version":"4.1.40","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.40","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"fbab3333b7a800951f8c5fc3317c2c4b331a00b2","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.40.tgz","fileCount":126,"integrity":"sha512-25fEPypg3ZfQG56PSCGxtqNWjiMz9XL9MVz/oz/rt2Pj+A1ev/JDJDk/uhFNfRKRZbqx2YQKP8EYX5fwF5fgBQ==","signatures":[{"sig":"MEYCIQCdOjeuDbCAiY0xbIFo+Nk8HG+rGS1P3p3N7sxjk0ZcngIhAOUhxbaQf7R8DCQpQt9IkTNFchg+P8NZG5Goyiecg3e0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20241397},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"112b984a6244b0600734fae44c8423407d015f19","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.256"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.40_1785404929727_0.9786436735253197","host":"s3://npm-registry-packages-npm-production"}},"4.1.41":{"name":"@getmicdrop/venue-calendar","version":"4.1.41","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.41","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"bed5dbebbcf0edde8eb1148a4e07b26dc3b892c0","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.41.tgz","fileCount":126,"integrity":"sha512-cXmc02qGGb4GQGACADfj6uwNA7SgD+/W+M30OjjGJlJLyeh2OuCd6j5VLXzPQny9xX8Lg1wR/BAWjpsT0Hv9+g==","signatures":[{"sig":"MEQCIFP3Vm/+9C52NicCawG7/CG0MAnNKbozU08tgiDUPDKXAiBGfa6bAzZgIn7xzIvdXoZVjjD6Ius1QDiUrXHqQZQgUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20241397},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"7e27dc5f9cf604e049ec1caf34145653ac7eeead","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.257"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.41_1785411727238_0.08593715132228263","host":"s3://npm-registry-packages-npm-production"}},"4.1.42":{"name":"@getmicdrop/venue-calendar","version":"4.1.42","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.42","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"39c0fb76f32ef9351bcba46f8627d2fb6db36af2","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.42.tgz","fileCount":126,"integrity":"sha512-Kar4R6pmIpeyEScd/g2C+v7yITlCWhsGVU31VATGfWAmVQkpWd36i8tFS5b7vA00NLBjhYr8Pv3tu2+Yu6PCbQ==","signatures":[{"sig":"MEQCIDd7vQU5Qh8Q5rCBUpJUtVwK3GHyO8LzaI9hu/3UtioKAiBdi4rBTfhO5hIbEqB1OwV8OZOab+0hZqDHcZzNooSBeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20241397},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e71837fd4813f0d0f367a75c7d8fdf9b38d1d23c","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.258"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.42_1785412421938_0.15521788390659053","host":"s3://npm-registry-packages-npm-production"}},"4.1.43":{"name":"@getmicdrop/venue-calendar","version":"4.1.43","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.43","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d5f6863423cb4d7268835e68be1b80f93d674466","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.43.tgz","fileCount":126,"integrity":"sha512-y2Z0t8OzXr6VTPGqNB/YdODTHBDp9iQDInPAVq04USnC8HbFEe/bVhqvbc7xjqJCdsHbIlQcdSN8mP9jrUOI8w==","signatures":[{"sig":"MEUCIAbX5nUN2bhZfqcTnB3uP2YmRwdJUo5gz5Cd+A6NcYyKAiEA03MXeBlU2pPY/cmtP8j62kVHF8SKzKa1s2BZJ2yHxXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20241069},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d2c50f0c95d60d94a9085122cc6556ea0bc59e7a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.259"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.43_1785419591837_0.07294033299446112","host":"s3://npm-registry-packages-npm-production"}},"4.1.44":{"name":"@getmicdrop/venue-calendar","version":"4.1.44","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.44","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"45f160126505bc9650f602c6b5f1cb2a86a11fce","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.44.tgz","fileCount":126,"integrity":"sha512-pSQOgKsOu4BOEfm0R41ZLQgViP24vOuAI8/XIM7+uPro4Es6Q7YW5scZLyr/yqFMwBEq4jiTRSDNOnsETnlFUg==","signatures":[{"sig":"MEYCIQDI7A0yjWzKVKIMzPZ/A+Ne0ebbLvuvxDSETI1577cxNgIhAIZI2gFjCIgVnx9f3EPlvPWv+7j/7Zabs6l4jnMTqqJv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20821777},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"363d5ff15c6da27f00e3a2a7169bea5e0564cd93","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.261"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.44_1785536620421_0.9719765866947798","host":"s3://npm-registry-packages-npm-production"}},"4.1.45":{"name":"@getmicdrop/venue-calendar","version":"4.1.45","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.45","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2a57c8ad0cb63201717b747459ced6f760a49f41","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.45.tgz","fileCount":126,"integrity":"sha512-vlykJhVuqSFWDK5p2bT1MmjPIeopsNXSXvXy9lnnE4BApcH6WhRUIObdM8rmkxCjGc4KEUKJC9VFq+22+M+iPg==","signatures":[{"sig":"MEUCIHfnNN+PXLIELZf0GccGE2dYBCWKZhGLNkjTevu7zPIFAiEAx8PUY25vdoaCJQERGEBDp1BaTguiEToXtwl33C9mnNM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20843310},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"2c32ccdebf256fcae5d52f44d639672b6aa126c0","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.284"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.45_1785729504197_0.28576397344108395","host":"s3://npm-registry-packages-npm-production"}},"4.1.46":{"name":"@getmicdrop/venue-calendar","version":"4.1.46","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.46","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"89d44e076a4ff3bf99246dc2119de3c49330e8f3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.46.tgz","fileCount":126,"integrity":"sha512-+ox5oM4MunubHKV2ihR0KzVPstCyqKq94weVO1A/zphFiTptMdXg9lSKbhjh/T719NHafZu44uYMnlb7Z74RiQ==","signatures":[{"sig":"MEYCIQC8QPcmGFnKsBKjkXn/18AD5eTBd9M2hQ3qssOf1fJszQIhANlCwxPZY0/vKDVg2EzoC/YuJk18o/554rvxbsQfPe03","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20847967},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b24394f355c932536483390afc0560cd3ea80d34","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.285"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.46_1785745651520_0.40815141433994806","host":"s3://npm-registry-packages-npm-production"}},"4.1.47":{"name":"@getmicdrop/venue-calendar","version":"4.1.47","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.47","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"41da5df7cf1903d2cba01ac3e1b4167c733aebfe","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.47.tgz","fileCount":126,"integrity":"sha512-jZTY4y1XX9uvYKj/Qw6vQhnEkAAmSAmzeBRewSO1/riQPJ94iN9EhsRNR+7YoQzj/UXiPfvKR1Zpy+gzcubGpg==","signatures":[{"sig":"MEYCIQDIM5lJr7Pre9EwILYkEWIn9f3EEKV9dyr7uFi17qX55AIhAMtsbUmXh2JJztLbEIa4hpl6I0rvMUbdx5LsRvb67lyx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20876344},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f0e46a3326a0b431563037ebad15b0880bcd6f60","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.286"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.47_1785773444146_0.8247205238760551","host":"s3://npm-registry-packages-npm-production"}},"4.1.48":{"name":"@getmicdrop/venue-calendar","version":"4.1.48","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.48","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"76bde243995475a01391ad4a6c485134f2150779","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.48.tgz","fileCount":126,"integrity":"sha512-L46Qr+SERvft9gkPMG99UsFJX0m6Q/XPQMhYCgM4SBffzIC+sVclFhqF86rgn3+S3gT6GquH7xvoYISwJ5A7Xg==","signatures":[{"sig":"MEQCIB8ODnfaWlmfz0QuAiV3g4r8NKATbMqm7aPajlJeqr+5AiApcaCULCN/UdDdRC4S1S6Jihig7rjArKgu5jXbm93GnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20876344},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c3e176f62f0ee33c4968410f7c8bdd2b933e7161","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.287"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.48_1785779646101_0.9241236745920431","host":"s3://npm-registry-packages-npm-production"}},"4.1.49":{"name":"@getmicdrop/venue-calendar","version":"4.1.49","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.49","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"38375640b88038aab63a2a18bfd8353603a025bb","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.49.tgz","fileCount":162,"integrity":"sha512-9/QgJEuIxGH+4PTO6ebyl1ZVBfjL7H1m/KQktP42Q7HHBYjgqhPzVgUlbOknT6l0yY9l7qLzrURpLuOllwhZbA==","signatures":[{"sig":"MEUCIHMExwp1vl8/DQxY8ScFj/BQ38U44p1G0EmhLKMP8yITAiEAr+LWFiMLfHGD+fKYxn3jAewIicL1YUuzD/rq3gRYWzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34470261},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c0f1185f4cd7681859b829f57d9ac9c7e4a46dc7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.295"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.49_1785927180756_0.717445852787157","host":"s3://npm-registry-packages-npm-production"}},"4.1.50":{"name":"@getmicdrop/venue-calendar","version":"4.1.50","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.50","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a8b713b6ee06b9cbc04404c8e10804192afdc6d7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.50.tgz","fileCount":162,"integrity":"sha512-/HGjBn6fI3MvZQ6ptcQob+o3pgR+ao3BGjME+ttICUV2K++xSDY2qsqXI8cyE0w1+15MXhgca0mqTG7vQEH6EQ==","signatures":[{"sig":"MEUCIQCh+X5/FgAHNy08SOWHjLuI7XwJQQSebVLV8cP8NrwBNgIgWfuknC9vebH6EA4GKEHc1WP70chmqqnDfIUvOdRJGfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34567606},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0d51fb8c264894de6f3e5495f6795b18cd737b93","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.304"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.50_1786215469044_0.5992221601473788","host":"s3://npm-registry-packages-npm-production"}},"4.1.51":{"name":"@getmicdrop/venue-calendar","version":"4.1.51","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.51","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"3f2728df1d1508472a1697f45cfd70db9867e944","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.51.tgz","fileCount":162,"integrity":"sha512-zxD6a75WFpD+FW6uTBG7NAzBZTu9r5sgmH0gB2tOd0xozc6hJl2ckudCUBr+ua1romHRFBxC/fkU4RlOV8Zq2Q==","signatures":[{"sig":"MEQCIHj/yVpI6/oYFma18DQoX51x1wigCggCPw/5NFbqRMttAiBV0Nw4cZJCt016AFGX5kpYJp+aqMPM8UyDfwxY49OSJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34567606},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"84f83f366ccb3b7631f628fd3ce62a986c8b5a8b","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.305"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.51_1786217171342_0.8165107363646953","host":"s3://npm-registry-packages-npm-production"}},"4.1.52":{"name":"@getmicdrop/venue-calendar","version":"4.1.52","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.52","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"3fdc2da1f180a2013bec821eb5b2e2ff5990fa6f","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.52.tgz","fileCount":162,"integrity":"sha512-N1o0QncqYxeu9Folje3oZ2GjAYvJhr/ZOceQKF6YU3nJbN6qIhRzF6MOmLqDoPGPbq+++NRj0clagEJnma6jLQ==","signatures":[{"sig":"MEQCIBS+yfvJe8ogJakbN+/01K/ikM5NSG8GE//HhCrd03+xAiBS8otvLIncUFZEGhQaoeXt9uBOA/6ROuq1hOI1Gy1Z4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34567606},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"48c5d543795f9e321c4361f31daf085656d65565","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.306"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.52_1786224326950_0.820783830205142","host":"s3://npm-registry-packages-npm-production"}},"4.1.53":{"name":"@getmicdrop/venue-calendar","version":"4.1.53","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.53","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5756884f66164c82ec27a6ec56cdba4fae18f7b6","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.53.tgz","fileCount":162,"integrity":"sha512-XRM9VVZCCFHpw1+76kyfKzB3RQyWAh8svYCzPPjFf2vFxol51JRgEZJ5oFYeEbrHU6vaIdleNYD/HJW12R7MMA==","signatures":[{"sig":"MEUCIG8VB2FdQori/hSfXyv8nfdKpTldZ3kHI5LsLW9/izdRAiEAnuFY2Bhun6e+aPQGdeX+YCKG0OHJIJvn8j1H9Cxo14o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34567606},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"80b9ba7a8bcd834ecedc1c924b7324817cd6e5f3","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.308"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.53_1786388116820_0.3251241326973835","host":"s3://npm-registry-packages-npm-production"}},"4.1.54":{"name":"@getmicdrop/venue-calendar","version":"4.1.54","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.54","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"79bcc1435ebd9536f326023de24a732ccdb03d50","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.54.tgz","fileCount":186,"integrity":"sha512-a5HpJdB8yXGEVfPyQ7jE012l18JX/7/FPbDH1zfmINdSGQMtBO0/N3SdMedmEoOqZUNKK0ub11U0bRtGXTQ8Lw==","signatures":[{"sig":"MEQCIBrDHXaEbjmFJ7Gc0L8q9Hf66IsOqe9lZAwrxAF9U+xZAiBvgVJp5FZyrsd3yG/y7uU4EjzjcnrYzNx4iDnIfr916Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35875748},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1ffeb2d902768dafff88106feb45b521a54b1bb6","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.308"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.54_1786554676794_0.8821877660166826","host":"s3://npm-registry-packages-npm-production"}},"4.1.55":{"name":"@getmicdrop/venue-calendar","version":"4.1.55","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.1.55","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"41b8841c078f79989eb4cd957853d4bd1e01e026","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.1.55.tgz","fileCount":186,"integrity":"sha512-T1JXkByvgjJiWMOzDxwSjNr66ikLdqdumLy0kVDL1uMzGKLEk1p/fUCNUm32QOl9mtVqgTjQ1yM/T7/vSeS9LQ==","signatures":[{"sig":"MEYCIQCV5saX7hyusi2YSKb7p/LYgaiBxqIxA+8WogLGwiTa3QIhALgyvahJDGakqukL5ghYJF358sGHgxDEiX1hIvCNd01q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35879514},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"4e2ea3d35462c3cc9dbb180bbcec7eca3ee9fe51","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.5","svelte-stripe":"^2.0.0","@stripe/stripe-js":"^8.0.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^7.0.0","yaml":"2.8.2","husky":"^9.1.7","jsdom":"^28.0.0","eslint":"^9.7.0","svelte":"^5.56.0","vitest":"^4.0.16","globals":"^16.5.0","postcss":"^8.5.15","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^16.16.0","@eslint/js":"^9.39.1","fast-check":"^4.8.0","size-limit":"^11.1.0","typescript":"^5.9.3","@types/node":"^20.19.43","lint-staged":"^16.4.0","tailwindcss":"^4.0.0","postcss-html":"^1.7.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.49.4","vite-plugin-dts":"^4.5.0","@playwright/test":"^1.60.0","@size-limit/file":"^11.1.0","@tailwindcss/vite":"^4.0.0","dependency-cruiser":"^17.4.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-svelte":"^3.19.0","@sveltejs/adapter-auto":"^6.1.0","@tanstack/svelte-query":"^6.1.34","prettier-plugin-svelte":"^3.5.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^36.0.1","@sveltejs/vite-plugin-svelte":"^6.2.4","@getmicdrop/svelte-components":"^6.24.311"},"peerDependencies":{"svelte":">=5.56.0"},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.1.55_1786570481155_0.4389531864973544","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@getmicdrop/venue-calendar","version":"4.2.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"0b2d9eb6621703d6aef0e142c3a4d0a2cf2bba6a","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.0.tgz","fileCount":158,"integrity":"sha512-JCoCWaedEySxh14XWfvNbh1KfD+6PnylHKiqa1hPQ7MwDi1y/EU57iCZxW102JJZQYm1cyAe52Dly2ke/9OYZA==","signatures":[{"sig":"MEYCIQDz7V0WxM7nZ7d+oSpyBRQWSQpSXmYSgw9o5GQFIHwWsgIhALQ+h/JFX0Fm7tXRWVN99DDQ9SF0DhwA6WAVt5Llz/bv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8416099},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"520cb3499d302c386bb33e9d46ee21c03c686add","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"esbuild":"^0.28.2"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.33","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.311"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.311"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.0_1786917939541_0.43880003701925574","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"@getmicdrop/venue-calendar","version":"4.2.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"96168470ac61a6100dc9e503e20cc31fca6fe249","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.1.tgz","fileCount":158,"integrity":"sha512-JkHa3j6CR+hYwekM9Kl59SY99GbZ4q26Kjm/ZWNUMpIOUR1Sd33Vgdm9RFAftpU5iraOCvN0VlolIkwz+HKvEg==","signatures":[{"sig":"MEUCIG0UgB8qQBxPO4wSYm2lZ9EgMY+mMb7/3dmtzfcKb3SnAiEAuN4TMr9WQ9EehvlTxoVqlzeWdv8A+AG8HFuW+sKYTJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8422790},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"9a0fc40b8df762dd588a91e05fe3a88797c0f4db","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.313"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.313"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.1_1787282127410_0.08752305632977397","host":"s3://npm-registry-packages-npm-production"}},"4.2.2":{"name":"@getmicdrop/venue-calendar","version":"4.2.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"83103cf5f7ce1c1213a13219eab81a2c40ba281d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.2.tgz","fileCount":158,"integrity":"sha512-OXBjTFqHpRvYcduYPzoZxE6KjIdUCeKSmMyZhiDuY9nrd97AY9lXTZEXAbeqsi0JqKbV98E0SC8/gf0ujdHeFw==","signatures":[{"sig":"MEUCICHKrhHp6W95hsKLkmHO846YsLvbtb33xRI+xW27pPo3AiEA6pDpAsIchbTUydtJtT0XlR7DCSROeR0BUkUJS1zTsJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8423587},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"d8d2cba61c9b7ab484ba32782ef67bd7838b8a15","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.313"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.313"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.2_1787283657706_0.2114213089411403","host":"s3://npm-registry-packages-npm-production"}},"4.2.3":{"name":"@getmicdrop/venue-calendar","version":"4.2.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5fd0f51e0ee74992d30cb1a822bb2f90a4f9b38c","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.3.tgz","fileCount":164,"integrity":"sha512-DCcNm4NrhZ5LUlBjfso93mJ352ShACZDgrxxNoSV13BB25NXnNKSZdLJrTNu2gbWYKSo5LflbZDOXY7lDnRqhQ==","signatures":[{"sig":"MEYCIQCodnH8WsKs9FhMP5ZqLO46f5asTm19YA30KfuwZR89rwIhAOUFa2Sn99ezskrVX6eV51mkokPt3lJUO3ex7AR5sgE6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8421198},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.316"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.316"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.3_1787459770170_0.21638247647658693","host":"s3://npm-registry-packages-npm-production"}},"4.2.4":{"name":"@getmicdrop/venue-calendar","version":"4.2.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d7329be51ce2461f26c1978d5bee2f07c1b5b68f","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.4.tgz","fileCount":164,"integrity":"sha512-bDJHv1dQt1FO9qIKrNZ//tI22PZahlbeu87xioh9mG0nwo/UGwqLLOXh6im9Vs3zWuPZaD9YIJ2XrzhCRH5eIg==","signatures":[{"sig":"MEQCIBSgT2XBHeTX2tROS2r4WDWl1UPfFd2aAhjJfot+7n5cAiB2bbzDxefIjIhJlc1GfHr2upUcXahv0u1dHLfEOimvYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8439831},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.316"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.316"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.4_1787463039852_0.25476851015465707","host":"s3://npm-registry-packages-npm-production"}},"4.2.5":{"name":"@getmicdrop/venue-calendar","version":"4.2.5","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.5","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"90d2358ed0502ef3c8565fc351afe2203f07d925","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.5.tgz","fileCount":158,"integrity":"sha512-6ZPcaZ3nZ4d2v1Kq6YHtU4jG1PrUNYw9pjfBVUpOy4HwiMlRofKCoSKeGTsNNyghmRF1JXs3n2L4vWWDPQEMBQ==","signatures":[{"sig":"MEUCIQDcsJ7rnR+thJW7YXyCztBErdfzqYB4Fe3GofCeWQ5NjgIgT2i0FRncZp9Ij3aAXxHLe7LPNDoyTepHPkVxnJ5d4fQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8412370},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"36ae48af8c4692e3c33efe5fcfb49d7d4a9271f4","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.316"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.316"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.5_1787541027841_0.012720922283317337","host":"s3://npm-registry-packages-npm-production"}},"4.2.6":{"name":"@getmicdrop/venue-calendar","version":"4.2.6","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.6","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b90488e4b5e8d43fbc3983444ea3bbe80c828dbd","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.6.tgz","fileCount":164,"integrity":"sha512-HQlj59FW6r6pWFMq9sDjxVll7vaJMIWwZ3wrA5+flSxX2krgPrFd0iM0LM1A5IlsIeCe6413pUN1O/6Zb8HVZw==","signatures":[{"sig":"MEYCIQDv6m60Z3nbtOZ9q+fd40g9c9gIR3dRSI6/vKItraNXbgIhAME6/jyMAp+GluCW4ajFdXg/syI/YDGQOXSufS8LQMzX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8446191},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"54befcbb111eeb68bc126ab8a151a46133ac74f3","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.317"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.317"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.6_1788205547513_0.5596107322888804","host":"s3://npm-registry-packages-npm-production"}},"4.2.7":{"name":"@getmicdrop/venue-calendar","version":"4.2.7","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.7","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"02738a2e0d94d83fa3f7138d283081f95bf5b019","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.7.tgz","fileCount":164,"integrity":"sha512-6CJ9oxRIA5VnjuDZdwHAhskakS8pA5V9Uz8KgZUBmpx6Gfc3B2URuo6khqmTM51yQBDmYUFmiAx4RLFlG9QyUg==","signatures":[{"sig":"MEUCIB72wGlfDDqgkY72x3uPDtz70MKWTAw7iPOXkEPXwz5wAiEAj92Q63DtvD4crdkcsi5Q1RZ++YD26dSWVHtV1II+4hM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8446191},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"41f9a97c6e9a866bf5421b232c201937aeb9e848","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.317"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.317"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.7_1788212289485_0.6384037832242202","host":"s3://npm-registry-packages-npm-production"}},"4.2.8":{"name":"@getmicdrop/venue-calendar","version":"4.2.8","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.8","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e27027eef62115138f5d01415db5152e1471d239","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.8.tgz","fileCount":164,"integrity":"sha512-ZUbsZADxfx7fXS0oWHCameJebIQYBSIHCH5UOUOKnLrGi5gKO3KWUm0YGp7OVVUfnd/ZxzOTjilzYrB9ioFwQA==","signatures":[{"sig":"MEUCIQDHBFF0vbeenDnjXMpD6tDGHK5uGEbdlWutqJOvGlLDGwIgY0ERUFAzBmnLlD/26PFJBXMmN4Ae1U6Vq5QOb4fS51o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8446825},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"41f9a97c6e9a866bf5421b232c201937aeb9e848","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.318"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.318"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.8_1788314166588_0.6082653366954311","host":"s3://npm-registry-packages-npm-production"}},"4.2.9":{"name":"@getmicdrop/venue-calendar","version":"4.2.9","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.9","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"752ae0f6360e688cdc33f35e32a4dffa059e5937","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.9.tgz","fileCount":164,"integrity":"sha512-ShlnFDpVSml0OeR6Pnn1ge6c6KvLa4GgCRar9T61aN7A/qA/ns/loGQOoHDfly9Pm/6FKs85IeAX4fOCZXdVAw==","signatures":[{"sig":"MEQCIENxoH17vBERhBoHW5BszOeQrWJT1TbjJIP/Fqu8YHuNAiB4Lo0eR1gFnO0i3csxKel5p4SA6LRXB+DxmFHDftccrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8446708},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"64a7e26de21c98b36b38ebcb2aa78af9286b1f2d","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.318"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.318"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.9_1788368199903_0.0794950841146469","host":"s3://npm-registry-packages-npm-production"}},"4.2.10":{"name":"@getmicdrop/venue-calendar","version":"4.2.10","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.10","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"289331d87faeebf07edb91398e1f782a2f06e418","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.10.tgz","fileCount":164,"integrity":"sha512-5S2pGIt4/n76SgZHn0Cq08F6fh1O6MbzVOpCB2GSz/Ib9cL+G4tVmaPOKrSkWd+Xlvfq1Xzu4YtjikWB7c0JyQ==","signatures":[{"sig":"MEUCIQCSKMm0jTpm9mZOKPUHxbqK8nnMDN6zn0GVWJg6kUK8VQIgaRS8n/7Efof5OEdLRiQ5lMyWv5gaLMrezGrZs5IAguQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8447212},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"ae3d8c0506f634a8036362f26e170e5e1d1fc5d7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.318"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.318"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.10_1788371879582_0.028161138632489147","host":"s3://npm-registry-packages-npm-production"}},"4.2.11":{"name":"@getmicdrop/venue-calendar","version":"4.2.11","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.11","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"3bac5449c1cf2e7753c58c868645a7cf362b59e1","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.11.tgz","fileCount":164,"integrity":"sha512-0pdBHTwCc0E3Q04QNUvZ6hYDSHSEQA9dvdBE82vjAUl6scjxUzKSt7x2N4G1QcsolSLgv06g64hKJuVbO8JcNA==","signatures":[{"sig":"MEYCIQDoM6bJIjo6jheGr+dCuKFBjydZfiYEiRG+coCC7GcuSwIhAOZlkAY0LZO5AzthK2OpBcdpPYJ6ysybzuTMzVfvE2sD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8457089},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a71b90f875ebb4a04c4c3ad68b07134358ae8961","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.318"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.318"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.11_1788374288194_0.8723320598770712","host":"s3://npm-registry-packages-npm-production"}},"4.2.12":{"name":"@getmicdrop/venue-calendar","version":"4.2.12","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.12","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"077139a8261008000a42297bec0d0d9515bec4a4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.12.tgz","fileCount":164,"integrity":"sha512-tFFA3isGMWO0sc7zrB48YsQA1o348vgBhI/UjolC9yk2/SVwpZr6HZBo15kslnXHzC3UkLHpNlhb1YVxP2NF4g==","signatures":[{"sig":"MEQCIBRQfhMUqb7GxBs4V/Jczz8Dj/B0UtsGPg/vm+B3paemAiBZdlVieDkprFoW0/7ZfGgbX7jLjN38pePYv/TRenlPIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8457382},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a71b90f875ebb4a04c4c3ad68b07134358ae8961","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.12_1788375541083_0.3207881285277532","host":"s3://npm-registry-packages-npm-production"}},"4.2.13":{"name":"@getmicdrop/venue-calendar","version":"4.2.13","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.13","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"acd4dd7493c6449f70f093e5c456da2d5ad36943","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.13.tgz","fileCount":164,"integrity":"sha512-QOtVImW/xwCkL7and+2Da59ItYxwy+7gPn51DWpffEkxOdfhV8tBWw3pCwEVyyClprup86SKwOB4CZ9/NJeBgw==","signatures":[{"sig":"MEUCIQDL1F87vIiM4Ha74TJt+wZ/ew9XdY9Iu4mI/f8OgaZlZQIgZ7JeXHT0vQ6II34W2qj4AZdKz+LYFVh6uJgS/rKk3Zs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8454718},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a8aa4b17dbabed33081056b69f962777b53529cb","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.13_1788378880795_0.13841026785980715","host":"s3://npm-registry-packages-npm-production"}},"4.2.14":{"name":"@getmicdrop/venue-calendar","version":"4.2.14","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.14","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e96ced54d694d685d274e4ac7f38ae2b787d182e","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.14.tgz","fileCount":164,"integrity":"sha512-FFB8RPu24qn1M/8cJ0E44YHSEhHaD16JcpGDpgTdbz2a/luc/4kc1D3h9XuQSVSBKuVVZUZTrjP3HCV6H/x1fw==","signatures":[{"sig":"MEYCIQD3Xw3q8SiW3Ted+rrbbvB3WSmXtvMR54XhdAxxo4ItYgIhAJR2oMzxt985ms1GULnm2Q6vWlJvI6mqZfANffWbGacL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8454906},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"15bc3107fce6a2134221458caef5dfc220bacf6f","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.14_1788379690484_0.8218299636538124","host":"s3://npm-registry-packages-npm-production"}},"4.2.15":{"name":"@getmicdrop/venue-calendar","version":"4.2.15","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.15","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1e7adc271bc9a7d16e8f32de443b5e4025f49216","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.15.tgz","fileCount":164,"integrity":"sha512-jR7yn4K6hBQBQnqOgHkvj/egFNlGUe6uTubYOXI+pk8L3cCeCod2w3sU0Ut5Ee/kCs7dlz44vqGLqn/Ed8XvWQ==","signatures":[{"sig":"MEYCIQD4gKPopWjM+/KdTpj1N7ZUBQuueYEMx8WQjlfzPe1IfAIhAILq9q9nSMoj2rYx3hPUqlisL9exAKCR7qYUdZF8cOyJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8455046},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"dc58c5a880b0bbb785c5b642e89d8268aca30fe7","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.15_1788380152801_0.6442220232886282","host":"s3://npm-registry-packages-npm-production"}},"4.2.16":{"name":"@getmicdrop/venue-calendar","version":"4.2.16","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.16","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"632934ed833c1a8f5358b0fc8ee0a2e0e701faf5","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.16.tgz","fileCount":164,"integrity":"sha512-y/fuoBlfv/b4fNWv25/BYu0DH1EJsTsHlyZtltTaqXMhl2RZaHB3ZAU0Wq+YSEVwR5Y7TxRp/OKfmoPBiqWmNg==","signatures":[{"sig":"MEYCIQD0pi0W+Mb0TxMFX1oCyxDp6JZim9zytSD69RlLH2CaOwIhANcQA1qRqyzINrov+6+weKcj7uEnHdvBAl/5SV8vDT2b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8455485},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"12fec8df299dd0cd24dec8dc070bdd408f8bbb65","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.16_1788382159947_0.6125844941209588","host":"s3://npm-registry-packages-npm-production"}},"4.2.19":{"name":"@getmicdrop/venue-calendar","version":"4.2.19","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.19","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6a67ccf4e91f25f7def7ef110dbe493349542e06","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.19.tgz","fileCount":164,"integrity":"sha512-QJBM0VgqQVrMf9FUUga0aXxjEuwh3zwbG2KDrw+owM1tgMAZs026PnwX8Eme/scDDAScjK31RKQ+hU9wI9mxKA==","signatures":[{"sig":"MEQCIFOxmEJy5r4ivDg8UmyAlq8jjIkNhuLpucqdxK6B5eNFAiBifZMgoQQZc800ZnwlcLQE90KAW7RYjb2Ll4K2YVnrtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8459742},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b0f01c13d2856e7d805fc8aa4bc73f2c6571c144","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.8","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.19_1788392683172_0.7808131745549558","host":"s3://npm-registry-packages-npm-production"}},"4.2.20":{"name":"@getmicdrop/venue-calendar","version":"4.2.20","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.20","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"04c244822f5ac331f78fe67a0cac36cff0d0607f","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.20.tgz","fileCount":164,"integrity":"sha512-YjHTQ1Wdq23l7ZXBWfg/dRNtpVUzbgU+j+pHHiul8SYBphrAJVXpoZJkLmxlQZnxu6r88vlHeYxO0jvso+t2JA==","signatures":[{"sig":"MEYCIQCVHkaZ0O18NXypizxW62wRIeuTN9aeYj14XzlyLZlb9wIhAP7B9OhH4aJiz/PXN9wsyuLE7eNweMa2j9wDreZMdKgX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8461984},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"37db2571de1f3b6de60055e1e2fbdee145eb88a5","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.20_1788393206777_0.9730043414199148","host":"s3://npm-registry-packages-npm-production"}},"4.2.21":{"name":"@getmicdrop/venue-calendar","version":"4.2.21","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.21","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"3dff98dc3abf8ebaecc8b9ef2fd068c77bd30440","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.21.tgz","fileCount":164,"integrity":"sha512-kMuBRno3W+9mPg3taziEnng+pzvsGSbNUgPvFbdFl/OmHCYDcJMw0LGnD0LeWI1GEO4Z1XmxO8Q/a8qnqu/h/w==","signatures":[{"sig":"MEYCIQCJFIP0oVZNh2l3B74palVx9bQXyvzr/ssthNMy7nefrQIhAKvbUb2Q+cKspcaYQ6C9TMoPtXm0Xt3GLPKF3DFF0cH/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8473047},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"91c08c74b80e8cd904d5b7a1ea8a2f40cad10a81","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.21_1788400462689_0.660171559215015","host":"s3://npm-registry-packages-npm-production"}},"4.2.22":{"name":"@getmicdrop/venue-calendar","version":"4.2.22","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.22","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"1cf27b3e75f6ff2e7ab7e96d93b8efd1880573ff","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.22.tgz","fileCount":164,"integrity":"sha512-vaIiu3Mj6JBswtiHe4it1GXVwzrP2icbZNgnIvpDP+gK2h4cvrPr/cnGebRlPZMmgxzLD114kV5TC1gVtej20g==","signatures":[{"sig":"MEUCIG3UuDDudQNuTumL983pLg4fbQZApNJioUv0K4cc9BZ0AiEA8Fl49nvzu929pBRaeX7ARbgbvVQZ4yBjRLOhW6bNjGE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8475015},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"711113a47ac3e6506f8ce5122d747959f2ffe885","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.22_1788402097866_0.009121629889782046","host":"s3://npm-registry-packages-npm-production"}},"4.2.23":{"name":"@getmicdrop/venue-calendar","version":"4.2.23","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.23","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d26f00c8c10914ca806672335938b91291299fcc","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.23.tgz","fileCount":164,"integrity":"sha512-toty994/BpTpj6FfnhHF0WQdX1clnVOUTzsKtuHcNGjpgUyrPbOCwcFKOY6yIuq5VILUxmSzCYxjD1PbEW1C4A==","signatures":[{"sig":"MEUCIC7N3XXMYi6eWe6vtv0wWe9w+BIEW4dcxJf1REjO1PaXAiEArys/TCh6mSE64bnFNU1m228Zh6DZ/W0am1jpOLFKcgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8475157},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"9aec472f7d97cfdf00fc5f3aa23e3a0a2caf0949","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.23_1788406702731_0.37171502812386237","host":"s3://npm-registry-packages-npm-production"}},"4.2.24":{"name":"@getmicdrop/venue-calendar","version":"4.2.24","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.24","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"63f331d68eea549fe4135719787b12232debbaf7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.24.tgz","fileCount":164,"integrity":"sha512-ZYCUdUjytZ0vp6gvkVN4ffUztoHdGEi+VxFqtZTg96V0/Ip3euCCnBiUiwzRp7T3zjO8QJFF8FS/rxfGxOShzA==","signatures":[{"sig":"MEUCIBKnvI9sROhw5s5eSg7FI01zK/fPkrwr+IN/SRZPBFvMAiEApJaY3b22HREeY/rTBp8iEt4TVfrr7BjF7Uz1U6YpBjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8474898},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"52d5277bc071b7d041c9b19f1ac6b328becd63a6","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.24_1788407076072_0.9990505172506001","host":"s3://npm-registry-packages-npm-production"}},"4.2.25":{"name":"@getmicdrop/venue-calendar","version":"4.2.25","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.25","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c709a5f60875bd7058ef5e10d3c1c22bd11e41a0","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.25.tgz","fileCount":164,"integrity":"sha512-L257X2z7pPMdjoeRpYNVT9Q8TefmWcShsavYeATjkC56M9gXmi4fy3pdRgWKAwf1br6eyXlt2wwQAafpVrqdtw==","signatures":[{"sig":"MEQCIHJQcFiftMQCyOIEmOb212jjxHQxm7icc9OzuTqxril0AiB/2LqWGtSXJSkgR/avQzfN4GRAEynIvfhzC2vO16hFlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8474898},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b016c55df039442fbecf47fc30d89684c0a81790","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.25_1788407846066_0.7463554524871066","host":"s3://npm-registry-packages-npm-production"}},"4.2.26":{"name":"@getmicdrop/venue-calendar","version":"4.2.26","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.26","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"0be5fbb09e800170509a597b509212c3ad99d8ab","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.26.tgz","fileCount":164,"integrity":"sha512-gkrfAJn8EDtrlRphWTGegdLUYyltcUaGnw/WxDHmNFN004TORKfc2EdGEqOj1uWvtLntiEOGF4H1DQXMaMhosg==","signatures":[{"sig":"MEQCIDXsZHc+Gyw8VfI5WVX245noXWvvUg69Yar+KOUhxT5JAiAkrq8KYXbMVF30cOO9hTp/PlkH0kHL0AIfrRXpHLbL5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8475797},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"7c1d101976dd9fbbb8896973128475d0d6f31fe3","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.26_1788412659714_0.4420171626694671","host":"s3://npm-registry-packages-npm-production"}},"4.2.28":{"name":"@getmicdrop/venue-calendar","version":"4.2.28","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.28","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"07e0a0947ac0ecde7724082be70a18f81cb284c3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.28.tgz","fileCount":164,"integrity":"sha512-x2iGvZCFA3HLsRQma0uxLRnbhHHbAFxBmRt01gZAHvsycSD6dSYeW4d4Du10eWTE0YF7hanZSJ2RVMPKWrOupg==","signatures":[{"sig":"MEQCIGuNiq3dpGvHx61ZSJAnXvmHzUmeGc/d2SL8Ck6dSfrrAiA0MgaX54AdYTbZSDthFKwCisWWbJiYHjcgyGh10vc2UQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8475797},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e5e3836588ff678708f3924b796362c239de4023","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.319"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.319"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.28_1788449751805_0.6403535558095146","host":"s3://npm-registry-packages-npm-production"}},"4.2.29":{"name":"@getmicdrop/venue-calendar","version":"4.2.29","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.29","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"142810601db3d7bd14d85dcb6ad170e3a70790de","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.29.tgz","fileCount":165,"integrity":"sha512-X7V0Fsyp0U4PJTAQtQwvK4P/QxVhtP9lwv/RLTyk1qUBNDcCGGDL/SOAl0aV2DpDoaXil9KdLid/q/BkulUmCg==","signatures":[{"sig":"MEUCIQCOpJnG6F9KUHMQfThhZoCH0w54RNj0V6CZym4O+N+CKgIgbG3AxqLFinH6W0DCOaDsXl+CixARpHKUnZVS6Rjf9Bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8488080},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a34d1f2551a20165bca7d05a63e4d9d245bf2326","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.323"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.322"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.29_1788575804190_0.178513147448222","host":"s3://npm-registry-packages-npm-production"}},"4.2.30":{"name":"@getmicdrop/venue-calendar","version":"4.2.30","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.30","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b077254b9f235fcf5e76ab10b6a2133ff134869d","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.30.tgz","fileCount":165,"integrity":"sha512-HQ3XpAJz4nala6EEgFyg4UNIGbDyL7LmYU7YuM6IK87UdcaQD/WcTk738MVaX8+Bx8OKKjGYhphy3vODFHgypQ==","signatures":[{"sig":"MEUCIQDb3WHhBq6Q0NbCFZPxkxIMBoh2CsTohnpbNNtBkvUmMgIgC57XRCo0uHSrnNb1LMrAEQC20ijMoe7IjRY7AXfW+O4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8492616},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e0d0c71cde854d5d3e3b4f60b551ac654b4768d5","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.323"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.322"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.30_1788576792383_0.20960605171565017","host":"s3://npm-registry-packages-npm-production"}},"4.2.31":{"name":"@getmicdrop/venue-calendar","version":"4.2.31","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.31","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"b7f9dfc8184bd478b8a4fc071c70811203da42b9","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.31.tgz","fileCount":165,"integrity":"sha512-S0rOE5Obk4Z47qkE1byXitQMdqyeKXs75ZdcPfWZyISqXBpTopu748ovKbzZ+aD3h3zZUmW0jX0YDA+K5xsljQ==","signatures":[{"sig":"MEYCIQDo7CyC2oR2KLXuy1BQtqMg9ggYjZtLK5FolQTbuxxciwIhAOHs24BAcczoPZhAEXterDEmDjfu+3r1zHPABPVaOgeY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8493094},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"98589dbf85a28ee96add10b574f1ffe9b2665e91","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.323"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.322"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.31_1788626093722_0.009121709656804367","host":"s3://npm-registry-packages-npm-production"}},"4.2.32":{"name":"@getmicdrop/venue-calendar","version":"4.2.32","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.32","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"75a09dbe6ca8fecca616784d16f15e956822e9de","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.32.tgz","fileCount":165,"integrity":"sha512-BsX+AsbW5gvkVk47p26Bqx4fnoogkEu63Dij3QKCRXguNXjoBnrFqFqcW4Xhv03CBW8GhTXaq+hWPDyViNcS3w==","signatures":[{"sig":"MEUCIBF0UYIhY6930XbIpqqR/bGHMt8gk1l+iqk2n1efDjs2AiEA9g0B7B3v8O5YcH+/eUJEwaD+LmZxpUAis0Q5SfqwFLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8501008},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"bd7de42e0d3213f4c597401831ea6340df97f4e2","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.324"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.322"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.32_1788629445602_0.4214813669649895","host":"s3://npm-registry-packages-npm-production"}},"4.2.33":{"name":"@getmicdrop/venue-calendar","version":"4.2.33","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.33","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"544c8a8e521083d3fc0744c73f3eb3d496f0ede3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.33.tgz","fileCount":165,"integrity":"sha512-hHKOBqlcbBMvTvXMluRAK/ODMA9M7csmHw1vSzFIiAn5F4h9Vm36tJoHjlm2ZxHWz7O/+UftKHdYBDLqZtBkrA==","signatures":[{"sig":"MEUCIQDUJka5MD9lXotJJ5tIHjmAXvL02G4yibzlTssdzM8LYgIgXKZtMUngBDEdEH8qdM1hUhydmRnmaSw8slVpNSchm4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8506703},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"65f07f3a028fc4912eaee7adf58c0c0b18d5a9f5","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.325"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.325"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.33_1788639239051_0.35526473700442396","host":"s3://npm-registry-packages-npm-production"}},"4.2.34":{"name":"@getmicdrop/venue-calendar","version":"4.2.34","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.34","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"0bc7b801eacf76d2d22608564c5d314463135ab1","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.34.tgz","fileCount":165,"integrity":"sha512-blsQNwPtpYI0id4y4nk/fioDYGjNuXqP+cUDzQc2qQQmT/AAqNVOSCbUxjROt9qVITOuca4sQz1uEUqtj2rCDQ==","signatures":[{"sig":"MEQCICv2nOnH0eLXHKK+BSEN0EZ3JlUzo62ye1vqFgRe5HmaAiBgOGM7Hu9EWKgLL7G6M/gPBbLpkTn3TtTWV8I+TDE+HA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8672287},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.325"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.325"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.34_1788727526699_0.765207996024309","host":"s3://npm-registry-packages-npm-production"}},"4.2.35":{"name":"@getmicdrop/venue-calendar","version":"4.2.35","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.35","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5aaea246987b0b56fb2ba6875cccbff6f536f070","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.35.tgz","fileCount":165,"integrity":"sha512-N+PAQB2sPW7VdIVCP2Y0GTJ6NFYopZ4ELILsi7Ouz6ybfI9fYaWPDuk/cS0qmrh1wZ5l3bHGTKWF/oDNfUrhHA==","signatures":[{"sig":"MEQCICCm9UBPKRxRKLzi3WfE4KBI1MwwYfX/3LNgiGGOJdlqAiAzQutMouU6Ti5ouS7CaN2GnN3KZYO98Zk38+rPun1jHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8694203},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"1df1b1d5977ceb8a19c77ad2f5974b7c49d391da","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.326"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.326"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.35_1788739068374_0.6356859693757066","host":"s3://npm-registry-packages-npm-production"}},"4.2.36":{"name":"@getmicdrop/venue-calendar","version":"4.2.36","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.36","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6d8483da2205375cc4e06ed242b097078b366bd6","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.36.tgz","fileCount":165,"integrity":"sha512-S/Vq8B8QO6D6BKZs5hEtg8ZiWck/x5e3elksh4d/vcdPU+hi6WKgHMg8csHW5cprZRJj10cTuqsJEYhhSW1wOw==","signatures":[{"sig":"MEUCIQCWm1xLQ6oIa1QBKGWtlp1HR2GhahzRG4gY1C/njrZvSwIgdf/Pk13VctIxtz5OV9JRjhsqsA8/ThBTQlgSNcxnPT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8694078},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"c9b6de4d0199ee98f8b4cd8489da0ad558263a1e","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.329"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.326"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.36_1788800257066_0.38476306804507754","host":"s3://npm-registry-packages-npm-production"}},"4.2.37":{"name":"@getmicdrop/venue-calendar","version":"4.2.37","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.2.37","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"eec31f45fb71a5ba5fe248727483e5e153cd2863","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.2.37.tgz","fileCount":165,"integrity":"sha512-Z4zQC+8nF50XjK4e/IWKxOhe+9YEEt95zXu/AMKL9If0SLy7VyTEstZS7nHHUpJ319zgm8wu0CFzEtYbu7eMSg==","signatures":[{"sig":"MEUCIQCWS92er6O2OJqdCiUGDh5MeJkSId1wYGhezcjpzN26CwIgEc42VTtufv4dlaUBKJ8gL1ZfS5N61YEBP+eW61Q5rAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8745646},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"723419937480512add7d29df2efa6b8290ecef21","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.330"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.330"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.2.37_1789153175354_0.9958758581260552","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"@getmicdrop/venue-calendar","version":"4.3.0","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.0","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8b1b613c455237b6f788c0e5da544d9bb766f8cb","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.0.tgz","fileCount":165,"integrity":"sha512-R9dyz+FNH8m8GwNc59Bd6mYCC8adnUYwhHGQzc09QMBdq4CKvR4+D5pZMx30TcHJ6wBqimf/8nZdx1JgM4IbaQ==","signatures":[{"sig":"MEYCIQC1cv8F7zgODScjRIU0YSwtnyPJsJNl79dm/el1xpW1JAIhAN3lGCIk69zcpKJY1zeprEmD1PEtz7elO0PAlhkI77DS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8846916},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.330"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.330"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.0_1789256431558_0.6361694718359538","host":"s3://npm-registry-packages-npm-production"}},"4.3.1":{"name":"@getmicdrop/venue-calendar","version":"4.3.1","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.1","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"747496c1bd2f19066bcaf8e75cc473706ecc9d63","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.1.tgz","fileCount":133,"integrity":"sha512-ulhRa2fCJA6SXpmqCVivoKkmKCPklIZ5SjxRnoakbmzJ17v2L9v+iwwxip0PZHA1cilgccMgvP+JqgCIKsy3iw==","signatures":[{"sig":"MEUCIQDRLpG9hMW3OwNxuWn2SgiFGTRjT3KLx9mOBaobL1WYRgIgaCY4xtBOn4GObRmJbFZPj0JTRzCT+QsjIlXJb8CYYI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8696044},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"298e0ecc1683b4f734e3d3007cd93c8e520d61cd","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.333"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.1_1789426045313_0.5886237200786961","host":"s3://npm-registry-packages-npm-production"}},"4.3.2":{"name":"@getmicdrop/venue-calendar","version":"4.3.2","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.2","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"8d5902454666d18322959a7780202391e049e381","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.2.tgz","fileCount":167,"integrity":"sha512-w2pBVI+urh5KtITU4cqLE1eA6oxCo363H4xEBcOAtLMZgrX4K89UZEYXH0x9KDHiRh5VygKPi53MkwyOyI6J/Q==","signatures":[{"sig":"MEUCIFNYhfjdTnfL8H3K2CTu3UqBWmmxGYmH1VKoO1ZmdStgAiEA3SnXKWXbTrj0rbuXoiGvo8AE1S+DbaFdkaCcBGX99io=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8921509},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"6885b7f4f8f868e7ce477acca7f98abce3d8c217","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.333"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.2_1789427028924_0.7570596866206252","host":"s3://npm-registry-packages-npm-production"}},"4.3.3":{"name":"@getmicdrop/venue-calendar","version":"4.3.3","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.3","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ba6436638bdcccfdf4f841f4210c95d27a963027","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.3.tgz","fileCount":167,"integrity":"sha512-ceW+EMdryPE/2O33o4MXwjnWSWmwzNWoxmnSUsPbETrDDPemn+iDnvmEx9QR+VnQjwbERBrvQnrZ+WOWYDZROQ==","signatures":[{"sig":"MEUCIQClNM5n8f/Jk2u/ixn9vzlnc+lr4PSwV4S//geWL0eLvQIgJACJZ/7Lco4Sa0nB0CQ7N1AglGNpDbj64AuNqi7w3rY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8948557},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.333"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.3_1789492237212_0.11994970235614244","host":"s3://npm-registry-packages-npm-production"}},"4.3.4":{"name":"@getmicdrop/venue-calendar","version":"4.3.4","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.4","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2177498fa9f7234949101551649bfe71db3717ca","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.4.tgz","fileCount":167,"integrity":"sha512-o/6I10YjRkHEHVdRLVlRfAH1GPzxQ3JEtmajwh5U38d+2XbcyV0ljKZwL6XkUNUXk91DGmq+X5N0n3nA+thvMg==","signatures":[{"sig":"MEYCIQDh7YHTt5VfzaJKrZbEA0Y0XJ4fhVNW8viAKipMvd5SRAIhAKoEhHuMt/EcNFNurIXdNI4XxWy4zF82UUbjApSTkrg9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8934215},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"48d5a8ebde5db01e98d108140b37ed88ed4ce91a","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.334"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.4_1789511253289_0.0786342777162572","host":"s3://npm-registry-packages-npm-production"}},"4.3.5":{"name":"@getmicdrop/venue-calendar","version":"4.3.5","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.5","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2d508f914703898880437a98daab87c95307c2de","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.5.tgz","fileCount":168,"integrity":"sha512-N7jxQAvZZOM2DO4iIDrL+1KfKpVCNXwUhAJ7nF9/qRutt7+RPe4UUQDJ1Tir2ykek1Ifqxfef8xz5zNcmH2k4A==","signatures":[{"sig":"MEUCIQCEl8X3jGewsHQnJaAH2Q7lQco7N9f3z5WGjJEShZAAoAIgEjpWyAOm67cRgx5B/bMUs2Pk/vXp5DOaDW+BbhZa8wQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8929745},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.334"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.5_1789516812980_0.22870370395433048","host":"s3://npm-registry-packages-npm-production"}},"4.3.6":{"name":"@getmicdrop/venue-calendar","version":"4.3.6","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.6","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2785e0655ffb6487027308362858e7179120a948","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.6.tgz","fileCount":168,"integrity":"sha512-BUKcKaiBzZq58y2Is9P49reqP582CfFfUBsA+7G/FZsJSsySGCK2XKvlYFQMHtHCxuGww0TKn91JquNFCv2gfg==","signatures":[{"sig":"MEUCID0jiY+wFUDjOjtTHjkjy6za688WurIU02JBukezPx9EAiEA3gc50tdyYuGU5qdRy6KnAyoCKENvLpyN0o8X7rVWcyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8935189},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.334"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.6_1789518962774_0.8688365112104508","host":"s3://npm-registry-packages-npm-production"}},"4.3.7":{"name":"@getmicdrop/venue-calendar","version":"4.3.7","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.7","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"bee5091e35a924250f006fb85ced76d1d0e1bb31","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.7.tgz","fileCount":168,"integrity":"sha512-3R6U0mnBvEyCalOtSNRrKN55odBmXU9DwzwMmVytq5zHEzVBm2IcchP/LhTuRp39bWcIMtQKD7GbbCloDhHcaA==","signatures":[{"sig":"MEQCIBaeu14O+gpqOU2IY9OxPxATTPQ6EFLNynhpHZGuqLIgAiAGyhVlog4+MqDr0Ie92DFtWdGVYJll+orqXfYgvPI79w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8937456},"main":"./dist/venue-calendar.umd.js","type":"module","_from":"file:getmicdrop-venue-calendar-4.3.7.tgz","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"_resolved":"C:\\jb-release-vc\\getmicdrop-venue-calendar-4.3.7.tgz","overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"_integrity":"sha512-3R6U0mnBvEyCalOtSNRrKN55odBmXU9DwzwMmVytq5zHEzVBm2IcchP/LhTuRp39bWcIMtQKD7GbbCloDhHcaA==","repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.334"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.7_1789539046777_0.17262361919761182","host":"s3://npm-registry-packages-npm-production"}},"4.3.8":{"name":"@getmicdrop/venue-calendar","version":"4.3.8","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.8","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"6567853fc4891b521fc9eba0cdb2b04673dea501","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.8.tgz","fileCount":168,"integrity":"sha512-iSYMQdZn5F7zAXqk2Ns/jEkVgteKgfyIJr453qkd9dB2NVWhtaDT4oS2QBS7hlYEs8dBeb4fs7kFvq0QywTfqQ==","signatures":[{"sig":"MEUCIERKIvPOJy5kE85ufxpKDw0Ou+jw7jCAVZMFrEGg+U5YAiEAsgp3Z/hIrFz1nBi9JCa2bDTWHgRk005G7H/Z8uTd8S8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8942404},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.338"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.8_1789586382841_0.8702031194424327","host":"s3://npm-registry-packages-npm-production"}},"4.3.9":{"name":"@getmicdrop/venue-calendar","version":"4.3.9","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.9","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"abf199813f4c6ec8fa7f728c40052155d6db87e7","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.9.tgz","fileCount":168,"integrity":"sha512-DFfBtfvxwuE2cV14CDtflPJTg6boauCIAPsMhlaLu784miifsWe9xDIt2Xy+QggfYBITzwmQz2cwjS5S3tR2AQ==","signatures":[{"sig":"MEYCIQCPy2c4XebJvAtq0IIflyvowrPDFi/MWcwtsjwEsiiwNwIhAK7fua2Qbb/ytinLqy0krRwcerDAtuf3jH/BmHzqnWf3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGAWzWQ3TSgqIr9uLscchlGO9O86/1fba+BRrbUKUj4aAiBaRthzwiGWlBVFTICem6hJqcJMbOwSJraPesXPawskQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8949889},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e156e51518182dde9c8aa71727a4f2f2ed10ef3b","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.339"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.9_1789924176052_0.5124545378643579","host":"s3://npm-registry-packages-npm-production"}},"4.3.10":{"name":"@getmicdrop/venue-calendar","version":"4.3.10","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.10","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"daa04d8a43e01b80dbe4ad84a759a287f81df29f","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.10.tgz","fileCount":167,"integrity":"sha512-dPXfORu/ako3o0J/0ZWnpW7pcrQnR3bZI9NhNtqxDYVQ3Y1NVA5E6B0rWYZ3y2+23riG2s1Te4aJoPk1gQO0Kg==","signatures":[{"sig":"MEQCIGB0IJSVE6KpZ5w76WsVBUtQWuQVVRDlyV6rS+UAxFc2AiB8BH4YDTTg+2GGtKqKcN+6SRXoJU8psmYxU1p0JR6cRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQClUdK63YWeFFAwkOOPaWVmL+xXXyvnik5kVP2ZelbDQwIhAL6CXHCvfg+Xml8OPIy0RZCuoeMRb+w/dbWN6u5lPi+w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9018542},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0009c5aee652599ab06bdfe47a6eada01192eb32","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.340"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.10_1790027051132_0.361387696638487","host":"s3://npm-registry-packages-npm-production"}},"4.3.11":{"name":"@getmicdrop/venue-calendar","version":"4.3.11","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.11","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"2eb9532c839e0aa1639d41082b2d4a7668947473","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.11.tgz","fileCount":167,"integrity":"sha512-Y6ivcWoyfALvlPmnRN88pQztZ92GNF+OLP0/bBI6vXuTuSRzdix6dRw77dSnXBqew2vRkp3KUCf1W6H3h5rFKQ==","signatures":[{"sig":"MEYCIQDy6EHM6r/OGnMfVXf35nsh+1EW+EuTGN1ob8AMq3VH4wIhAOtRTuVu3nKevF4Bb5+5hOuH9mkSUcMiXYbc531yfZQK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHQEHEIEvkzSrK2Lki9K/Gbves8eb3zEHm3Y3nHOAUkBAiA9WNcSSPCx5GUNZLncmyJvg6b74+6n7evF9VRPJ4IznA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9018543},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"afca8077eb02225f2feaec524675d1f581f893a2","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"10.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"^6.24.341"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.11_1790058306952_0.8263176268213113","host":"s3://npm-registry-packages-npm-production"}},"4.3.12":{"name":"@getmicdrop/venue-calendar","version":"4.3.12","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.12","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"024a5fde3d938bfe5ddba2f36f87f20f326d2631","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.12.tgz","fileCount":167,"integrity":"sha512-Jt+Yr0PQWTUq3b1xhc8C+T8G865mi8e88AiCM+6Gp1wOX9n6rcQm2S4HFKoYMo5qVmxrBrBPvw0hLjJ6UZb2SQ==","signatures":[{"sig":"MEYCIQCsqS3WiKyZsE5Dr5XcvHxVjYxBytG+uHwUi3HiRdAC4QIhAKZxkUKneUSFK9FlChqa62XofYKXXvpLGI2jxfXVixqD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB01tdQ9/D60EF51d+ahLfHhgqb+SnWOhgMN8GiN6GvsAiBV1/2/HcX1YmUlBbeV3DHzY5KARLbAyVcE2TxPM6iKFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9018762},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"3fa48ebed01c3032731a09683f3e091999228709","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.342"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.12_1790094534969_0.602099127704556","host":"s3://npm-registry-packages-npm-production"}},"4.3.13":{"name":"@getmicdrop/venue-calendar","version":"4.3.13","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.13","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"5300da86e0ee8471aa3a7bef262cb7289bf3d0ce","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.13.tgz","fileCount":167,"integrity":"sha512-1LFeK5AniQyf8LpuY4fLRgvUbJC3EA6wxQG2ezLIJn1HCLsiyl5nupKEdM4mqgIEGSyNh2uiC0OOylnCPxCGSQ==","signatures":[{"sig":"MEUCIQD8JvI6R/+P/bdwvlWBjfmWmkdpLB/6pk2vxqGOLBLFKQIgXO9gYMaKmkT7cNexVSQhwLgEJPy2O0vm13jMynaMlx4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIANXM8SCYwUuJmJl5I5egWdzV1zpoQSjQvPFyfbFpteFAiAqc1vfcWZaEBcVLV3kY/j0lwhLDQJ1FLknvhk8oraJzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9019651},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"346be27cd776d02f5c5de6d02780a693c89e696e","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.342"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.13_1790105100315_0.7351820233767166","host":"s3://npm-registry-packages-npm-production"}},"4.3.14":{"name":"@getmicdrop/venue-calendar","version":"4.3.14","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.14","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e0117953214b380e6722441878c0b84b81d9c808","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.14.tgz","fileCount":167,"integrity":"sha512-faSZXFdXl5Aqwvl7E5DW4f1G6/97VDlUnKSj6hFgbnMQ+LCMG9mGveSNU03ObGyWu4MY7+hW6ICciFhshAcgpw==","signatures":[{"sig":"MEUCIF8EFSXFE+a0WalFR0T5rPct2hZHcE9x15UHlyuxuwQUAiEAiF8CR+ZSxtnQjgdq1K6kpLhYCv3R5QcO8hjRPlv0JfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDbSFGBY1Oq3TWooXD2goKdt81a41gwfYDNBVZR5WZjngIgLlZxHF/amVMcbZuxl1/o3uQ/RNgpji6ft0eKmwSIZgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9019651},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"da8276b7da3fab272940b2cb21c3e337a0dbb9d1","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.343"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.14_1790107498789_0.5070238902398534","host":"s3://npm-registry-packages-npm-production"}},"4.3.15":{"name":"@getmicdrop/venue-calendar","version":"4.3.15","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.15","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"0da04f5d02a9d50e52d29e8eaaad94ca02dedd57","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.15.tgz","fileCount":167,"integrity":"sha512-mspqQQrxPIMoBE5ZVnr9pCy2IIWEDJzOSBPPCDFBHOtmrB9gucu5UzR8OY1GWimvbc3bXJEUhGkMU6wGHsy47w==","signatures":[{"sig":"MEYCIQDeB7IHs17TlKpf6XpG1w1Oj7t5mwY26zTdeNqD2rNrhwIhAPE+f1zYjo3hmDXj5MHqvm10rCIiwdodt7dWdNz5ttRi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAiQVcTPB0SJDZIwq3qzpDRLdmYy5W/Fx4SrmCHHbL63AiEA82583fxunIuz7yLGcOHEsvunZtNlOE9O+Eb8ALY4kmU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9021408},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"16995b5ce61f417d7f95318a4968cf48813d6c93","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.344"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.15_1790112918603_0.4164144897491189","host":"s3://npm-registry-packages-npm-production"}},"4.3.16":{"name":"@getmicdrop/venue-calendar","version":"4.3.16","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.16","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"22b2f2ade3508e64c2d5a400558b56e9c7addee3","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.16.tgz","fileCount":167,"integrity":"sha512-S8ukQfKLtNeItbO24f9jNE/lQitfybi0rdEkWSwJEkpBne3eZoWJKeGHjsqEDLwzUljzIqKmstgd+ZWoTcDPww==","signatures":[{"sig":"MEYCIQCw+u1ADfH5oYWsJmjm0xnOqObKhyMoPE7eSrXli/kHrgIhAIjxetVSNblVqDGtLfcJqMC1YpoMWnwdTdSI76Drzyo8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCMnABl1fFO0NsA/b3ZIsSXUdsa25REW52rpZaB1nWFxgIgQQDcnVvYC4Lj9hricit+rXBQXQYtg58iyA9m1Jw1tVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9021627},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"dccc0e75ab580b92151b5cb5f1eb3cd606f4865f","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.345"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.16_1790128952291_0.17712583011236616","host":"s3://npm-registry-packages-npm-production"}},"4.3.17":{"name":"@getmicdrop/venue-calendar","version":"4.3.17","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.17","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c891cdb43db46cbe62b7221ce9053ced29222285","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.17.tgz","fileCount":167,"integrity":"sha512-9coK8/XI9J8QMYTBcCr64XyBBP9xR0CdzVw9ig+rP7hTLuul34y+8QfOEvcppYV7y62y9puF7OKy7vvWA5Ol9g==","signatures":[{"sig":"MEUCIGDlEiL5tR8PFb81IBHfgIgyXuMeH0VaIZq/ZzHEe5UlAiEA9PBmRiL8xa3L+4Veo9saImuctiZAb0UYb7ptOrYvgdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBhOyKTGJzg7DXfBbJTIfu1fp/jiFaKQXkYTfswAjk9nAiEAnNCdQmbXnWfQszw/OmVaj/yv0QIzCdI3f3vx163Rsgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9021627},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"f066250b685fb7337ccfa4718ef9bb42905c5622","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.346"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.17_1790177559545_0.906154071667028","host":"s3://npm-registry-packages-npm-production"}},"4.3.18":{"name":"@getmicdrop/venue-calendar","version":"4.3.18","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.18","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"c201e2c2b4fc7e6a684018057747bc4304de6f15","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.18.tgz","fileCount":167,"integrity":"sha512-vyOn+Z97JtePCSO4hs6u3CR1kNP18eRTl+DTS64he5JpaPhom5upO9obn+qaRgBVUncKh+LmzSUgaPYa1reOnA==","signatures":[{"sig":"MEUCIEznKRInzoTMe7KB0MhKV+do3Zx97Xu+TBzVcmUc/t22AiEAj0juVPutNqTVCaFChZIJauDI0Y+E+LNgBj/EuuDGTws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID4oekIaaQXnlBmgSN4ytQ9dhs5myZa0GT5xbtsi5OWWAiBmkrjW+wPGaJioX0Mc1un4rIW++I8+9HtNsh2SJIhtQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9021627},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"b32b90a4442d561d0124e59f663e7d3ddedc17b8","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.346"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.18_1790191748350_0.5489090916740298","host":"s3://npm-registry-packages-npm-production"}},"4.3.19":{"name":"@getmicdrop/venue-calendar","version":"4.3.19","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.19","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"e99d86defb01f183760230820d7f3d5603a65834","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.19.tgz","fileCount":167,"integrity":"sha512-v7pZQSlfKPGpKBE1nFuENQjmoiPWB9cX9/LUioKgkQjGmSdeiCKyqD5t7fFtz9yPcMkEkdQo/kOBxTLtnilRkQ==","signatures":[{"sig":"MEUCIBkOuDzZxPAVQZ4yvTeDVnm3bRfqmtLPsRY0VjGbOcssAiEA0WNsFqNUo8eTV7OIMBZgg2g2UlGD3SYefkEORaxBq5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICU6JeCrOziNY/yehycJsTFfEXW527icmMi0NVqZLwEeAiEA1IHkyX8mo99VKAOWM1HYRNUsktrxx8Am7mas4PCuW+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9025956},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"e6fc6ceb1a33b7859fa209b70ea85432f2c46f4c","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.347"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.19_1790222930443_0.1210164466932453","host":"s3://npm-registry-packages-npm-production"}},"4.3.20":{"name":"@getmicdrop/venue-calendar","version":"4.3.20","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.20","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"168d9af0deb9f4265feac5f336fb1121773fb3fc","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.20.tgz","fileCount":167,"integrity":"sha512-pVvnJeuVOiOhgwh0ATncM6yt+kGk+Qh3dXW7oUCifUPNbzWtCENBpZYmKCX09G/3b/8bCyPyBWZy2mEq6mK+Kw==","signatures":[{"sig":"MEUCIGNBSScZEJZm4dlBzGUCKUAVWRUeo2WRYj35Xx1I4tJBAiEA/jDQeK+5BGDROoRXInHC4PRXK+RIllkGz91DNaBtTok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDuFCfGEv2uGNLUbU8/t5oZE2HeFzK8zYcaApIBtrEPFQIhAP+n8cmlETOCi4d+gwQTdqdodWXsUq/V0k1jVztxC8ZR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9028684},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"543f8581894df10880a4b0ff1250e7f6dec153a9","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.348"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.20_1790288786407_0.7160424219073636","host":"s3://npm-registry-packages-npm-production"}},"4.3.21":{"name":"@getmicdrop/venue-calendar","version":"4.3.21","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.21","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"834f6c03eb324e1ca7c6ee5984316788ec8e7b16","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.21.tgz","fileCount":167,"integrity":"sha512-8sDofGDK0jOFF00gnGXURg40FWTdCnfp1Gp3/xfTPQq0BrtpbZpHhRt7tpAJMc6P+sX826/HpJkHARyqoYYMQQ==","signatures":[{"sig":"MEUCIC1mZ4cQqYZ2L8CB9Ant2LTTHYj2kdZwccWR6GIPnxUtAiEA2VtiYDqN87GtX/oz/VRLNiNYh28KZKZMVeEtl9Gvfew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICuxiqf4Vq0a/Yl8eifW6t7jmyX49Ay22IBcm3wCarvKAiAZ/Bt4oPkiAsIawxXLwBMytSCZmFoP29uPmELAquRpKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9029277},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"5577e65f068916d731139d791da0a551e1d78798","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.349"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.21_1790292998898_0.8191079435887529","host":"s3://npm-registry-packages-npm-production"}},"4.3.22":{"name":"@getmicdrop/venue-calendar","version":"4.3.22","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.22","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d54ddc5275eaac5d52d4d45a67dd68d107827844","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.22.tgz","fileCount":167,"integrity":"sha512-oqzKvwmrVHHVmda3dFiXu9h4IM1Ph9NjUxF3rC6i74qXQKeygq2fcxUu5hg6xHD7lxubZuM7BjyRDIasFaqvsA==","signatures":[{"sig":"MEQCIH6cDFDZptv9k8E/lFPnCWKN6E1zGsA//u3n+AVNgoHdAiBX0e65zUc7pzNziQ0yDBcFBZ/BlvYJF5KfaG1cSEkoXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIG47tXd+8nOvh/6wEiakIuC0xsQTAbTRxDzRhGdbRcL3AiAlOz1sMQnMe3aoFeuH8lR+03YzGYmUYygoQcFmZXf0RA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9031148},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"aa64ceca270f6e7a2ff704b34b1635811caa878c","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.350"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.22_1790295157546_0.9959136483089845","host":"s3://npm-registry-packages-npm-production"}},"4.3.23":{"name":"@getmicdrop/venue-calendar","version":"4.3.23","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.23","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"a872b6f38cafc757d29bede3f8436f006557c072","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.23.tgz","fileCount":166,"integrity":"sha512-aZMudJ9xdPMuvZTYU5fR+5uxHKQy4t1T5GmcKy3y8a+A387Gi3V4Nkbf0Y8JMED+aBbEmZJycg3cVB5ADpIIcw==","signatures":[{"sig":"MEUCIQCkX6sMDBsnArJfM899I9JdX/rcNX53CYv6RhqVm+Ua6wIgOhpqpS2rq1oGPNzklH3UWpC9m8aPCzVMOgrQ/8bIf8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCjGdZNh7dtvQcGaxIrqZaWXzbHFXEzUbxhbVvnQOr6YAIhAL01quCdY/jhbses3o58wSRyBGxdpGJNIfZXpojQudxg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9033522},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"92b791630113b58bd710c83bb93f73373e2f494d","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.351"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.23_1790306257636_0.7973511906332598","host":"s3://npm-registry-packages-npm-production"}},"4.3.24":{"name":"@getmicdrop/venue-calendar","version":"4.3.24","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.24","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"28284f5027808350f1304f46170a1b09a78766ec","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.24.tgz","fileCount":166,"integrity":"sha512-jHkwumAP6qLI1FPW8BO7Jf8fYJNd8gmlIEgMfVQKnQoeReRUQR4Xa/Ks31oM3lc7F7LQVo/RgxPtIRYIKAfH+g==","signatures":[{"sig":"MEQCIFOh2IWSQiw4SBG/vMZbs8XKH022nwBvlLVK+i5T1QhRAiBX2bDbuZ2Tykl1o8Aer/CbI3c3HzVSZsKqCQ0epQdmMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCp3LSgog85PWmkKRZ7/GAYxJxq+JYDOD6ZB9aF8TD+YwIhAN5fSjV6kFMrB7K9HAS8+jCftdfmJpxhgHihlX1iOrV8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9034114},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"40d2ec61a74ffbc45dfb1245cf13a96cd9bea175","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.352"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.24_1790318870947_0.4845934751652916","host":"s3://npm-registry-packages-npm-production"}},"4.3.25":{"name":"@getmicdrop/venue-calendar","version":"4.3.25","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.25","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"71a542d2181c6b8063ac5370b9318ae826a25eb4","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.25.tgz","fileCount":166,"integrity":"sha512-rEuyS9Q0WIXqFjK46kmHUV5ObVYy9qrUA/V8tQGeXk8i+LiOMt9iXBN3ShzAuxoShBd792AeIyJuYVNNAGpsSg==","signatures":[{"sig":"MEUCIQDOnoqCQwJKxvWw3+F1RNoNk4uurUSPTKr11vHblu3HKwIgdAFJwFi3FCgqJva0+ScIOR71FHJcp9/RWFBDSMpVRzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCtMe+P+/atibmNEX3YlaUolFmEdZVM1qj4ZXeBYWxoDAIgTku6jKHfGh6p73AKGC6UZB2BXA4eZ3o+G6d4hv5IU+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9057567},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"0d05a3827baf4d7d767c3be90432b8c20271c2ca","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.353"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.25_1790333168247_0.2792801826943485","host":"s3://npm-registry-packages-npm-production"}},"4.3.26":{"name":"@getmicdrop/venue-calendar","version":"4.3.26","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"author":{"name":"MicDrop"},"license":"MIT","_id":"@getmicdrop/venue-calendar@4.3.26","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"homepage":"https://github.com/get-micdrop/venue-calendar#readme","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"ec6d1e9f620252f1ca965f7433fb968101944447","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.26.tgz","fileCount":166,"integrity":"sha512-LbbOIcVNtEczkWQVvOb0kSLfy8+l6yZ4r9Xcr2KiX9DtRB+tsEzttzedn/XXuUZMXKruuy0hzsU6piRCWyYApA==","signatures":[{"sig":"MEUCIGka/5DkA7AjoL17WOPFvlP6U9gHIozESH0nJuNvI33sAiEA2uODJIzYzQ5gjXNoH9NgbZAdOxQyzK7iJpFD7yC2opA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBbBODMpqwFlYx1QpZEiJG7RePEYLUmQYMRbfe4y/DifAiB+xnZUhoOdc+ob2mUmT1PnsOP7yC6NvYT9bVaCmWB85Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9059895},"main":"./dist/venue-calendar.umd.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"a5fbec897a18099d233693a3cbbfc34a84a3b7d4","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.354"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/venue-calendar_4.3.26_1790336231217_0.8046935190316251","host":"s3://npm-registry-packages-npm-production"}},"4.3.27":{"_id":"@getmicdrop/venue-calendar@4.3.27","bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"dist":{"shasum":"d097837b4b0f06219b953da4056a51c1a7f16c8b","tarball":"https://registry.npmjs.org/@getmicdrop/venue-calendar/-/venue-calendar-4.3.27.tgz","fileCount":166,"integrity":"sha512-qbG+zdVBPkpnT4BHL3GjrLsM3ghcxD+WFrESkGZmwZS+mdEvlx8ajlsaRLovn+Lf2ozxRt/joAurxq5oWCfHcw==","signatures":[{"sig":"MEQCIDhAyhjBFWApO9Tr0wUHqK5uSS63YoMEwj/vI9mT6vcfAiAnRVN7cPgWJRMkCBt7uhG+LcvpuM+m8GVohBgUUllMxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDpeFCqb6mPiyJ0So0WKQfNXys9KjLO/Zth3p+ftTn66AiAxmhPw4lL6Pg5sZtCZeyOmT1679UthswO3hwzkStRu/g=="}],"unpackedSize":9061060},"main":"./dist/venue-calendar.umd.js","name":"@getmicdrop/venue-calendar","type":"module","types":"./dist/types/index.d.ts","author":{"name":"MicDrop"},"module":"./dist/venue-calendar.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/venue-calendar.es.js","svelte":"./dist/venue-calendar.es.js","default":"./dist/venue-calendar.es.js","require":"./dist/venue-calendar.umd.js"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api/api.mjs","default":"./dist/api/api.mjs","require":"./dist/api/api.cjs"},"./seo":{"types":"./dist/seo/index.d.ts","import":"./dist/seo/seo.mjs","default":"./dist/seo/seo.mjs","require":"./dist/seo/seo.cjs"},"./theme":{"import":"./src/lib/theme.js","default":"./src/lib/theme.js"},"./dist/venue-calendar.css":"./dist/venue-calendar.css"},"gitHead":"68316f8f52a7c5cfd99b942655b1467e8055a39e","license":"MIT","scripts":{"dev":"vite dev","gate":"sh scripts/gate.sh","knip":"knip","lint":"eslint src e2e --max-warnings 0","size":"node scripts/size-guard.mjs && size-limit","test":"vitest run","build":"vite build","check":"svelte-check --diagnostic-sources \"js,svelte\"","prepare":"node ./scripts/prepare.js","preview":"vite preview","test:ui":"vitest --ui","lint:css":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input","lint:fix":"eslint src e2e --fix","size:why":"node scripts/size-guard.mjs && size-limit --why","test:e2e":"playwright test","build:all":"npm run build:lib && npm run build:api && npm run build:seo","build:api":"vite build --config vite.config.api.js","build:lib":"cross-env VC_IIFE_ONLY=1 vite build --config vite.config.lib.js && vite build --config vite.config.lib.js && vite build --config vite.config.locales.js","build:seo":"vite build --config vite.config.seo.js","check:all":"svelte-check","depcruise":"dependency-cruiser src --config .dependency-cruiser.cjs","format:fix":"prettier --write e2e","test:watch":"vitest","test:routes":"VITE_ROUTE_PROBE=1 vitest run src/lib/api/route-answers-probe.test.ts","voice:check":"node scripts/vc-copy-voice-ratchet.mjs --report-only","format:check":"prettier --check e2e","lint:css:fix":"stylelint \"src/**/*.{css,scss,svelte}\" --allow-empty-input --fix","voice:vendor":"node scripts/gen-voice-rules-vendored.mjs","_lint_comment":"Ratchet cap. 2026-05-31: ESLint had NO svelte parser configured, so the entire .svelte tree was unparsed (300 'Unexpected token <' errors) and effectively unlinted. Wired the svelte parser (eslint.config.js) + downgraded the recommended svelte rules to 'warn' for the turn-on wave (mirrors performers-portal). 2026-06-10: ratcheted cap 1638 -> 418. 2026-07-16: burned the whole budget down (unused vars, navigation-without-resolve via resolve(), svelte/reactivity classes, hex -> color constants, @html removal, shadow renames) — cap is now 0 and stays 0; any new warning fails lint.","_size_comment":"size-guard runs FIRST and is not decoration. size-limit resolves its config through lilconfig, whose search order puts package.json BEFORE .size-limit.js — so re-adding a package.json#size-limit key silently shadows the computed budget and the es cap goes back to measuring a 1 KB loader (#569) while CI stays green. size-guard re-runs that search order, re-derives the ES entry's static import closure, and refuses to hand off to size-limit unless the es cap measures it.","cleanup-check":"node scripts/cleanup-on-destroy-check.mjs --report-only","prepublishOnly":"npm run build:all","test:e2e:build":"npm run build:lib && playwright test","test:e2e:route":"playwright test --config playwright.route.config.js","_format_comment":"Until #660 this repo had NO prettier check anywhere — not in package.json, not in any workflow. Formatting was enforced ONLY by the lint-staged pre-commit hook, which rewrites whatever you happen to stage. So a file that was never staged after a config change drifted forever, and the drift surfaced as an unrelated whole-file reformat in someone else's PR (#659 hit exactly that on e2e/embed-checkout.e2e.js). COVERED SURFACE IS `e2e` ONLY, deliberately. Two separate numbers, measured at e6f30590 — do not conflate them: `prettier --check .` reports 314 drifted files repo-wide, of which `prettier --check src` accounts for 129; the other 185 are docs/, .planning/, scripts/, plans/, test/, test-helpers/, canary/ and repo-root config. Reformatting product source is a separate change with its own blast radius (filed as #679, which covers the src/ 129 only — the non-src remainder is not yet filed). The arg is the DIRECTORY, not a glob with an extension list, so a new e2e/*.ts or e2e/**/fixtures/*.json is covered the day it lands instead of the day someone remembers to widen a pattern. Grow this scope by adding a directory; never by adding a file. `format:check:all` is the report-only view of the whole repo so the src backlog stays visible rather than hidden.","detectors:check":"node scripts/detectors/detectors-wired.mjs","cleanup-baseline":"node scripts/cleanup-on-destroy-check.mjs --baseline","format:check:all":"prettier --check .","no-sc-toast-check":"node scripts/no-sc-toast-check.mjs","release:preflight":"node scripts/size-guard.mjs --release","_build_lib_comment":"THREE passes, and the order is load-bearing. (1) VC_IIFE_ONLY=1 builds the IIFE and is the ONLY pass with emptyOutDir on — it owns the dist wipe. (2) the default pass appends ES + UMD. (3) vite.config.locales.js appends the version-pinned locale chunks the IIFE fetches at runtime. Move the locales pass earlier and it gets wiped by (1); give it emptyOutDir and it wipes the bundle it serves. Both failures are silent at build time and total at runtime, so scripts/size-guard.mjs asserts the IIFE and the locale tree coexist in dist.","no-new-skips-check":"node scripts/no-new-skips-check.mjs --report-only","test:ci-mute-guard":"vitest run scripts/ci-needs-graph.test.js","voice:check:strict":"node scripts/vc-copy-voice-ratchet.mjs","voice:vendor:check":"node scripts/gen-voice-rules-vendored.mjs --check","_lint_scope_comment":"Scope is `src e2e`, not `src` (#660). e2e/ was outside every CI lens while the pre-commit hook (lint-staged) enforced the SAME rules on any staged .js — so a committer was blocked by rules CI never measured. That is how #654 happened. #659 drained the 9 no-raw-date-construction violations first; this scope widening is the arming half, and it only ever runs green because the fixes landed first. Adding a directory here is cheap; leaving one out is invisible.","design-system:check":"node scripts/design-system-check.mjs --report-only","lockfile-sync-check":"node scripts/lockfile-sync-check.mjs","cleanup-check:strict":"node scripts/cleanup-on-destroy-check.mjs --fail-on-new","quantity-clamp-check":"node scripts/quantity-clamp-check.mjs --report-only","test:e2e:route:build":"npm run build && playwright test --config playwright.route.config.js","token-resolves-check":"node scripts/token-resolves-check.mjs","class-emits-css-check":"node scripts/class-emits-css-check.mjs","failopen-loader-check":"node scripts/failopen-loader-check.mjs --report-only","no-new-skips-baseline":"node scripts/no-new-skips-check.mjs --baseline","design-system:baseline":"node scripts/design-system-check.mjs --baseline","git-hooks-resolve-check":"node scripts/detectors/git-hooks-resolve-check.mjs","quantity-clamp-baseline":"node scripts/quantity-clamp-check.mjs --baseline","stale-doc-comment-check":"node scripts/stale-doc-comment-check.mjs","checkout-lifecycle-check":"node scripts/checkout-lifecycle-check.mjs --report-only","failopen-loader-baseline":"node scripts/failopen-loader-check.mjs --baseline","no-sc-toast-check:report":"node scripts/no-sc-toast-check.mjs --report-only","dead-theme-selector-check":"node scripts/dead-theme-selector-check.mjs","label-name-resolves-check":"node scripts/label-name-resolves-check.mjs","no-new-skips-check:strict":"node scripts/no-new-skips-check.mjs --fail-on-new","_release_preflight_comment":"Runs the checks that can only be answered about the ARTIFACT and the REGISTRY, not about the source tree — so it is deliberately NOT part of `npm run gate` (it needs a built dist and the network). Two questions: is this version already taken on npm (republishing a taken number is unrecoverable — jsDelivr/unpkg serve the first bytes they saw under that specifier forever), and does the tarball `npm pack` would actually upload contain any .map file. The second is asked of `npm pack --dry-run --json`, never of package.json#files, because `files` is what we INTENDED and the tarball is what SHIPS: published 4.1.55 carried 8.7 MB of maps with 786 sourcesContent entries despite an .npmignore that was supposed to stop it.","design-system:check:strict":"node scripts/design-system-check.mjs --fail-on-new","lockfile-sync-check:report":"node scripts/lockfile-sync-check.mjs --report-only","checkout-lifecycle-baseline":"node scripts/checkout-lifecycle-check.mjs --baseline","heading-role-fidelity-check":"node scripts/heading-role-fidelity-check.mjs","quantity-clamp-check:strict":"node scripts/quantity-clamp-check.mjs --fail-on-new","failopen-loader-check:strict":"node scripts/failopen-loader-check.mjs --fail-on-new","composite-role-fidelity-check":"node scripts/composite-role-fidelity-check.mjs","git-hooks-resolve-check:report":"node scripts/detectors/git-hooks-resolve-check.mjs --report-only","checkout-lifecycle-check:strict":"node scripts/checkout-lifecycle-check.mjs --fail-on-new","heading-role-fidelity-check:report":"node scripts/heading-role-fidelity-check.mjs --report-only","composite-role-fidelity-check:report":"node scripts/composite-role-fidelity-check.mjs --report-only"},"version":"4.3.27","_npmUser":{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},"homepage":"https://github.com/get-micdrop/venue-calendar#readme","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"overrides":{"svelte":"5.56.9","esbuild":"^0.28.2","@tanstack/query-core":"5.101.4","@tanstack/svelte-query":"6.1.38"},"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"_npmVersion":"9.9.3","description":"A customizable Svelte calendar component for displaying comedy events","directories":{},"lint-staged":{"*.{json,css,md}":["prettier --write"],"*.{js,ts,svelte}":["eslint --fix","prettier --write"]},"maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.4.3","qrcode":"^1.5.4","js-cookie":"^3.0.8","@stripe/stripe-js":"9.13.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.12.1","vite":"^8.2.1","yaml":"2.9.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.1","svelte":"5.56.9","vitest":"^4.1.10","globals":"^17.11.0","postcss":"^8.5.26","prettier":"^3.8.3","cross-env":"^10.1.0","stylelint":"^17.14.1","@eslint/js":"^10.0.1","fast-check":"^4.8.0","size-limit":"^13.0.3","typescript":"^5.9.3","@types/node":"^26.2.0","lint-staged":"^16.4.0","tailwindcss":"^4.3.3","postcss-html":"^2.0.0","svelte-check":"^4.3.5","@sveltejs/kit":"^2.70.2","svelte-stripe":"^2.0.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.60.0","@size-limit/file":"^13.0.3","@tailwindcss/vite":"^4.3.3","dependency-cruiser":"^18.2.0","@vitest/coverage-v8":"^4.1.10","eslint-plugin-svelte":"^3.22.0","@sveltejs/adapter-auto":"^7.0.1","@tanstack/svelte-query":"6.1.38","prettier-plugin-svelte":"^4.1.1","@testing-library/svelte":"^5.3.1","@testing-library/jest-dom":"^7.0.1","@typescript-eslint/parser":"^8.59.2","stylelint-config-standard":"^40.0.0","@sveltejs/vite-plugin-svelte":"^7.3.0","@getmicdrop/svelte-components":"6.24.355"},"peerDependencies":{"svelte":">=5.56.4 <6","@getmicdrop/svelte-components":"^6.24.333"},"peerDependenciesMeta":{"@getmicdrop/svelte-components":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/venue-calendar_4.3.27_1790364620712_0.23487378393674607"}}},"time":{"created":"2025-10-30T22:45:36.876Z","modified":"2026-09-25T19:30:21.041Z","1.0.0":"2025-10-30T22:45:37.523Z","1.0.1":"2025-10-30T23:09:47.901Z","1.0.2":"2025-10-30T23:22:39.443Z","1.0.3":"2025-10-30T23:50:56.311Z","1.0.4":"2025-11-03T16:12:18.095Z","1.0.5":"2025-11-03T21:15:11.996Z","1.0.6":"2025-11-04T22:05:52.314Z","1.1.0":"2025-11-06T17:40:19.006Z","1.1.1":"2025-11-08T00:47:42.180Z","1.1.2":"2025-11-12T19:53:27.506Z","1.2.0":"2025-11-15T23:26:39.020Z","1.3.0":"2025-11-17T16:01:08.955Z","1.3.1":"2025-11-18T17:20:52.314Z","1.3.2":"2025-11-19T03:12:45.580Z","1.4.0":"2025-11-19T08:04:22.350Z","1.4.1":"2025-11-19T19:06:48.799Z","1.4.2":"2025-11-19T20:26:36.107Z","2.0.0":"2025-12-02T05:53:09.481Z","3.1.0":"2026-01-08T05:02:45.831Z","3.2.0":"2026-01-23T00:45:00.344Z","3.3.0":"2026-01-24T20:18:29.022Z","3.3.1":"2026-01-24T23:32:36.561Z","3.3.2":"2026-01-24T23:39:09.088Z","3.3.3":"2026-01-25T04:38:01.063Z","3.3.4":"2026-01-26T21:05:27.703Z","3.3.5":"2026-01-26T21:06:39.310Z","3.3.6":"2026-01-26T21:08:59.808Z","3.3.7":"2026-01-26T21:25:35.388Z","3.3.8":"2026-01-27T00:51:51.801Z","3.3.9":"2026-01-27T05:46:48.442Z","3.3.10":"2026-01-27T19:04:30.645Z","3.3.11":"2026-01-27T23:16:40.537Z","3.3.12":"2026-01-28T00:25:30.060Z","3.3.13":"2026-01-28T00:29:46.620Z","3.3.17":"2026-01-28T06:09:58.658Z","3.4.0":"2026-01-31T06:09:26.499Z","3.4.2":"2026-02-24T06:00:15.736Z","3.4.3":"2026-03-01T05:30:29.465Z","3.4.4":"2026-03-05T02:09:05.759Z","3.4.6":"2026-03-06T08:09:18.334Z","3.4.7":"2026-03-10T17:05:53.310Z","3.4.8":"2026-03-11T22:17:28.622Z","3.5.0":"2026-03-13T06:14:32.881Z","3.5.1":"2026-03-19T22:51:37.513Z","3.5.2":"2026-04-04T23:12:11.767Z","3.5.3":"2026-04-06T19:06:38.141Z","3.5.5":"2026-04-09T02:53:16.448Z","3.6.0":"2026-04-15T18:33:54.343Z","3.7.0":"2026-04-19T02:27:42.914Z","3.7.1":"2026-04-19T02:56:46.747Z","3.7.2":"2026-04-19T07:54:07.374Z","3.6.1":"2026-04-19T17:05:27.285Z","3.7.3":"2026-04-19T17:08:16.204Z","3.7.4":"2026-04-19T17:17:24.699Z","3.7.5":"2026-04-19T18:05:46.119Z","3.7.6":"2026-04-20T21:40:32.846Z","3.7.7":"2026-04-20T22:20:18.647Z","3.7.8":"2026-04-20T22:54:42.960Z","3.7.9":"2026-04-20T23:59:08.577Z","3.7.10":"2026-04-21T01:08:13.333Z","3.7.11":"2026-04-21T01:57:30.233Z","3.7.12":"2026-04-21T02:28:55.286Z","3.8.0":"2026-04-21T03:01:21.070Z","3.8.1":"2026-04-21T03:33:38.778Z","3.8.2":"2026-04-24T22:54:37.208Z","3.8.3":"2026-04-24T23:35:30.269Z","3.8.4":"2026-04-24T23:50:39.756Z","3.6.3":"2026-05-03T23:56:46.086Z","3.6.4":"2026-05-04T00:11:15.394Z","3.6.5":"2026-05-04T00:29:58.604Z","3.6.6":"2026-05-04T00:53:42.212Z","3.6.7":"2026-05-04T01:12:07.173Z","3.6.8":"2026-05-04T03:20:52.289Z","3.6.9":"2026-05-04T03:41:14.221Z","3.6.10":"2026-05-04T03:58:37.691Z","3.6.11":"2026-05-04T04:02:47.898Z","3.6.12":"2026-05-04T04:54:09.280Z","3.6.13":"2026-05-04T05:13:34.499Z","3.6.14":"2026-05-04T05:48:33.261Z","3.6.15":"2026-05-04T13:21:36.955Z","3.6.16":"2026-05-04T13:46:54.240Z","3.6.17":"2026-05-04T14:06:51.589Z","3.6.18":"2026-05-04T14:09:16.557Z","3.6.19":"2026-05-04T15:04:22.914Z","3.6.21":"2026-05-09T04:21:55.731Z","3.6.23":"2026-05-11T04:15:50.777Z","4.0.3":"2026-05-15T14:53:09.159Z","4.0.4":"2026-05-17T01:55:02.800Z","4.0.5":"2026-05-17T02:29:27.381Z","4.0.6":"2026-05-17T02:54:03.229Z","4.0.7":"2026-05-17T03:34:35.443Z","4.0.8":"2026-05-17T04:41:13.859Z","4.0.9":"2026-05-17T05:37:47.989Z","4.0.11":"2026-05-17T05:50:02.394Z","4.0.12":"2026-05-17T05:58:08.026Z","4.0.13":"2026-05-17T06:16:05.343Z","4.0.14":"2026-05-17T06:45:06.303Z","4.0.15":"2026-05-17T14:20:17.278Z","4.0.16":"2026-05-17T15:18:26.212Z","4.0.17":"2026-05-17T15:47:41.033Z","4.0.19":"2026-05-26T17:20:06.182Z","4.0.20":"2026-05-26T19:16:17.256Z","4.0.21":"2026-05-26T19:57:33.464Z","4.0.22":"2026-05-26T20:24:27.358Z","4.0.23":"2026-05-26T21:00:32.847Z","4.0.24":"2026-05-26T23:10:39.613Z","4.0.25":"2026-05-26T23:38:52.345Z","4.0.26":"2026-05-27T04:22:50.495Z","4.0.27":"2026-05-27T12:09:09.104Z","4.0.28":"2026-05-27T12:41:55.275Z","4.0.29":"2026-05-27T15:26:16.803Z","4.0.30":"2026-05-27T17:30:52.739Z","4.0.31":"2026-05-27T21:13:28.511Z","4.0.32":"2026-05-27T21:59:13.605Z","4.0.34":"2026-05-28T04:26:30.352Z","4.0.35":"2026-05-28T05:16:57.258Z","4.0.36":"2026-05-29T07:00:56.563Z","4.0.37":"2026-05-29T08:26:10.914Z","4.0.38":"2026-05-29T17:26:39.375Z","4.0.39":"2026-05-31T01:26:43.832Z","4.0.40":"2026-05-31T07:25:38.278Z","4.0.41":"2026-05-31T11:25:54.254Z","4.0.42":"2026-05-31T13:25:42.543Z","4.0.43":"2026-05-31T14:25:37.009Z","4.0.44":"2026-05-31T15:26:24.183Z","4.0.45":"2026-05-31T21:26:19.323Z","4.0.46":"2026-06-01T03:32:39.959Z","4.0.47":"2026-06-01T03:55:03.125Z","4.0.48":"2026-06-01T04:25:42.780Z","4.0.49":"2026-06-01T05:21:21.714Z","4.0.50":"2026-06-01T06:53:16.077Z","4.0.51":"2026-06-01T08:53:47.707Z","4.0.52":"2026-06-01T23:22:06.194Z","4.0.53":"2026-06-02T00:52:46.305Z","4.0.54":"2026-06-02T01:23:08.659Z","4.0.55":"2026-06-02T02:22:01.519Z","4.0.56":"2026-06-02T03:52:03.478Z","4.0.57":"2026-06-02T04:22:17.470Z","4.0.58":"2026-06-02T04:51:49.050Z","4.0.59":"2026-06-02T11:22:01.039Z","4.0.60":"2026-06-04T05:52:39.180Z","4.0.61":"2026-06-05T05:00:16.184Z","4.0.62":"2026-06-05T05:25:29.378Z","4.0.63":"2026-06-05T05:44:30.101Z","4.0.64":"2026-06-05T17:28:15.870Z","4.0.65":"2026-06-06T02:33:35.349Z","4.0.66":"2026-06-07T15:09:04.330Z","4.0.67":"2026-06-07T21:42:58.723Z","4.0.68":"2026-06-07T21:47:28.501Z","4.0.69":"2026-06-07T23:11:02.332Z","4.0.70":"2026-06-08T00:18:41.366Z","4.0.71":"2026-06-08T01:13:34.898Z","4.0.72":"2026-06-08T02:50:28.855Z","4.0.73":"2026-06-08T04:49:57.564Z","4.0.74":"2026-06-08T05:46:33.042Z","4.0.75":"2026-06-08T06:22:09.877Z","4.0.76":"2026-06-08T14:29:43.142Z","4.0.77":"2026-06-08T19:21:18.014Z","4.0.78":"2026-06-10T20:59:55.088Z","4.0.79":"2026-06-10T22:34:26.844Z","4.0.80":"2026-06-11T03:22:10.394Z","4.0.81":"2026-06-12T16:30:28.064Z","4.0.82":"2026-06-12T19:20:15.988Z","4.0.83":"2026-06-14T15:18:27.474Z","4.0.84":"2026-06-14T15:50:56.836Z","4.0.86":"2026-06-14T21:53:43.538Z","4.0.87":"2026-06-18T04:17:00.783Z","4.0.88":"2026-06-19T02:47:47.828Z","4.0.89":"2026-06-20T21:44:09.984Z","4.0.90":"2026-06-22T22:33:31.102Z","4.0.91":"2026-06-23T19:29:38.940Z","4.0.92":"2026-06-24T00:38:02.089Z","4.0.93":"2026-07-06T01:33:51.571Z","4.0.94":"2026-07-06T19:13:40.426Z","4.0.95":"2026-07-07T00:23:26.544Z","4.0.96":"2026-07-07T20:53:29.828Z","4.0.97":"2026-07-09T18:36:32.130Z","4.0.98":"2026-07-09T20:11:26.506Z","4.0.99":"2026-07-10T06:06:22.627Z","4.0.100":"2026-07-10T16:14:17.708Z","4.0.101":"2026-07-10T18:56:44.212Z","4.0.102":"2026-07-11T00:16:24.988Z","4.0.103":"2026-07-11T00:32:19.599Z","4.0.104":"2026-07-11T02:05:45.230Z","4.0.105":"2026-07-11T06:07:33.190Z","4.0.106":"2026-07-11T15:31:24.540Z","4.0.107":"2026-07-11T16:20:20.145Z","4.0.108":"2026-07-13T18:48:10.953Z","4.0.109":"2026-07-16T07:15:39.105Z","4.0.110":"2026-07-16T18:47:43.848Z","4.0.111":"2026-07-16T22:09:42.376Z","4.0.112":"2026-07-16T22:22:58.024Z","4.0.113":"2026-07-16T23:59:13.764Z","4.0.114":"2026-07-17T01:16:10.926Z","4.0.115":"2026-07-17T01:55:51.777Z","4.0.116":"2026-07-17T02:07:08.394Z","4.0.117":"2026-07-17T02:38:26.175Z","4.0.118":"2026-07-17T02:51:38.256Z","4.0.119":"2026-07-17T03:00:35.827Z","4.0.120":"2026-07-17T03:11:11.737Z","4.0.121":"2026-07-17T03:53:21.549Z","4.0.122":"2026-07-17T04:52:20.438Z","4.0.123":"2026-07-17T05:52:15.534Z","4.0.124":"2026-07-18T06:22:15.847Z","4.0.125":"2026-07-18T18:23:20.267Z","4.0.126":"2026-07-23T05:02:11.104Z","4.0.127":"2026-07-23T06:22:34.526Z","4.0.128":"2026-07-24T18:54:11.859Z","4.0.129":"2026-07-24T19:52:00.863Z","4.0.130":"2026-07-25T01:52:56.908Z","4.0.131":"2026-07-25T02:22:33.261Z","4.0.132":"2026-07-25T02:52:31.093Z","4.0.133":"2026-07-25T05:53:59.260Z","4.0.134":"2026-07-25T07:22:34.424Z","4.0.135":"2026-07-25T07:52:38.621Z","4.0.136":"2026-07-25T08:52:47.245Z","4.0.137":"2026-07-25T16:24:07.225Z","4.0.138":"2026-07-25T21:23:54.473Z","4.0.139":"2026-07-25T21:53:28.541Z","4.0.140":"2026-07-26T08:53:49.354Z","4.0.141":"2026-07-26T09:22:41.371Z","4.0.142":"2026-07-26T13:22:45.795Z","4.0.143":"2026-07-26T20:22:29.613Z","4.0.144":"2026-07-26T21:53:44.512Z","4.0.145":"2026-07-27T02:22:37.460Z","4.0.146":"2026-07-27T04:54:37.809Z","4.0.147":"2026-07-27T07:52:52.245Z","4.0.148":"2026-07-27T08:22:42.926Z","4.0.149":"2026-07-27T09:54:06.452Z","4.0.150":"2026-07-27T13:52:42.037Z","4.0.151":"2026-07-27T16:22:50.944Z","4.0.152":"2026-07-27T18:22:55.823Z","4.0.153":"2026-07-27T19:53:45.753Z","4.0.154":"2026-07-27T20:54:17.128Z","4.0.155":"2026-07-27T21:24:19.184Z","4.0.156":"2026-07-28T01:24:24.720Z","4.0.157":"2026-07-28T03:53:02.388Z","4.0.158":"2026-07-28T05:02:38.432Z","4.0.159":"2026-07-28T09:20:17.973Z","4.0.160":"2026-07-28T15:42:53.972Z","4.0.161":"2026-07-28T15:49:57.471Z","4.0.162":"2026-07-28T18:23:59.180Z","4.0.163":"2026-07-28T18:59:52.963Z","4.1.1":"2026-07-28T22:49:28.692Z","4.1.2":"2026-07-29T00:50:28.696Z","4.1.3":"2026-07-29T03:56:25.757Z","4.1.4":"2026-07-29T04:53:50.156Z","4.1.5":"2026-07-29T05:47:16.192Z","4.1.6":"2026-07-29T06:22:23.941Z","4.1.7":"2026-07-29T07:23:59.354Z","4.1.8":"2026-07-29T08:14:58.437Z","4.1.9":"2026-07-29T08:36:48.468Z","4.1.10":"2026-07-29T08:54:49.488Z","4.1.11":"2026-07-29T10:58:21.201Z","4.1.12":"2026-07-29T11:35:31.675Z","4.1.13":"2026-07-29T12:47:56.463Z","4.1.14":"2026-07-29T13:25:38.241Z","4.1.15":"2026-07-29T13:54:06.271Z","4.1.16":"2026-07-29T16:55:52.150Z","4.1.17":"2026-07-29T17:08:00.381Z","4.1.18":"2026-07-29T17:58:23.866Z","4.1.19":"2026-07-29T18:35:09.434Z","4.1.20":"2026-07-29T18:50:17.342Z","4.1.21":"2026-07-29T19:06:16.641Z","4.1.22":"2026-07-29T20:43:15.113Z","4.1.23":"2026-07-29T21:11:24.031Z","4.1.24":"2026-07-29T21:53:40.016Z","4.1.25":"2026-07-29T22:35:38.440Z","4.1.26":"2026-07-29T23:18:30.357Z","4.1.27":"2026-07-29T23:54:10.821Z","4.1.28":"2026-07-30T00:31:49.178Z","4.1.29":"2026-07-30T01:31:47.413Z","4.1.30":"2026-07-30T01:52:08.995Z","4.1.31":"2026-07-30T02:08:57.468Z","4.1.32":"2026-07-30T03:14:07.983Z","4.1.33":"2026-07-30T03:26:24.997Z","4.1.34":"2026-07-30T05:18:37.530Z","4.1.35":"2026-07-30T05:38:49.145Z","4.1.36":"2026-07-30T06:36:57.613Z","4.1.37":"2026-07-30T06:52:28.851Z","4.1.38":"2026-07-30T07:51:51.607Z","4.1.39":"2026-07-30T08:23:28.557Z","4.1.40":"2026-07-30T09:48:50.019Z","4.1.41":"2026-07-30T11:42:07.500Z","4.1.42":"2026-07-30T11:53:42.228Z","4.1.43":"2026-07-30T13:53:12.063Z","4.1.44":"2026-07-31T22:23:40.905Z","4.1.45":"2026-08-03T03:58:24.450Z","4.1.46":"2026-08-03T08:27:31.789Z","4.1.47":"2026-08-03T16:10:44.509Z","4.1.48":"2026-08-03T17:54:06.404Z","4.1.49":"2026-08-05T10:53:01.026Z","4.1.50":"2026-08-08T18:57:49.372Z","4.1.51":"2026-08-08T19:26:11.635Z","4.1.52":"2026-08-08T21:25:27.253Z","4.1.53":"2026-08-10T18:55:17.206Z","4.1.54":"2026-08-12T17:11:17.118Z","4.1.55":"2026-08-12T21:34:41.533Z","4.2.0":"2026-08-16T22:05:39.802Z","4.2.1":"2026-08-21T03:15:27.634Z","4.2.2":"2026-08-21T03:40:57.943Z","4.2.3":"2026-08-23T04:36:10.405Z","4.2.4":"2026-08-23T05:30:40.049Z","4.2.5":"2026-08-24T03:10:28.026Z","4.2.6":"2026-08-31T19:45:47.721Z","4.2.7":"2026-08-31T21:38:09.683Z","4.2.8":"2026-09-02T01:56:06.787Z","4.2.9":"2026-09-02T16:56:40.126Z","4.2.10":"2026-09-02T17:57:59.803Z","4.2.11":"2026-09-02T18:38:08.430Z","4.2.12":"2026-09-02T18:59:01.286Z","4.2.13":"2026-09-02T19:54:40.983Z","4.2.14":"2026-09-02T20:08:10.704Z","4.2.15":"2026-09-02T20:15:53.019Z","4.2.16":"2026-09-02T20:49:20.208Z","4.2.19":"2026-09-02T23:44:43.407Z","4.2.20":"2026-09-02T23:53:27.035Z","4.2.21":"2026-09-03T01:54:22.935Z","4.2.22":"2026-09-03T02:21:38.102Z","4.2.23":"2026-09-03T03:38:22.932Z","4.2.24":"2026-09-03T03:44:36.296Z","4.2.25":"2026-09-03T03:57:26.276Z","4.2.26":"2026-09-03T05:17:39.892Z","4.2.28":"2026-09-03T15:35:52.019Z","4.2.29":"2026-09-05T02:36:44.388Z","4.2.30":"2026-09-05T02:53:12.598Z","4.2.31":"2026-09-05T16:34:53.916Z","4.2.32":"2026-09-05T17:30:45.812Z","4.2.33":"2026-09-05T20:13:59.234Z","4.2.34":"2026-09-06T20:45:26.935Z","4.2.35":"2026-09-06T23:57:48.579Z","4.2.36":"2026-09-07T16:57:37.285Z","4.2.37":"2026-09-11T18:59:35.563Z","4.3.0":"2026-09-12T23:40:31.803Z","4.3.1":"2026-09-14T22:47:25.515Z","4.3.2":"2026-09-14T23:03:49.231Z","4.3.3":"2026-09-15T17:10:37.499Z","4.3.4":"2026-09-15T22:27:33.518Z","4.3.5":"2026-09-16T00:00:13.183Z","4.3.6":"2026-09-16T00:36:03.015Z","4.3.7":"2026-09-16T06:10:46.964Z","4.3.8":"2026-09-16T19:19:43.100Z","4.3.9":"2026-09-20T17:09:36.211Z","4.3.10":"2026-09-21T21:44:11.309Z","4.3.11":"2026-09-22T06:25:07.179Z","4.3.12":"2026-09-22T16:28:55.144Z","4.3.13":"2026-09-22T19:25:00.484Z","4.3.14":"2026-09-22T20:04:58.939Z","4.3.15":"2026-09-22T21:35:18.783Z","4.3.16":"2026-09-23T02:02:32.468Z","4.3.17":"2026-09-23T15:32:39.690Z","4.3.18":"2026-09-23T19:29:08.519Z","4.3.19":"2026-09-24T04:08:50.625Z","4.3.20":"2026-09-24T22:26:26.597Z","4.3.21":"2026-09-24T23:36:39.110Z","4.3.22":"2026-09-25T00:12:37.749Z","4.3.23":"2026-09-25T03:17:37.787Z","4.3.24":"2026-09-25T06:47:51.155Z","4.3.25":"2026-09-25T10:46:08.400Z","4.3.26":"2026-09-25T11:37:11.405Z","4.3.27":"2026-09-25T19:30:20.879Z"},"bugs":{"url":"https://github.com/get-micdrop/venue-calendar/issues"},"author":{"name":"MicDrop"},"license":"MIT","homepage":"https://github.com/get-micdrop/venue-calendar#readme","keywords":["svelte","calendar","events","comedy","venue","component","micdrop"],"repository":{"url":"git+https://github.com/get-micdrop/venue-calendar.git","type":"git"},"description":"A customizable Svelte calendar component for displaying comedy events","maintainers":[{"name":"gnaughton-micdrop","email":"gus+micdrop@gusnaughton.com"},{"name":"peeeeet","email":"admin@get-micdrop.com"}],"readme":"# @getmicdrop/venue-calendar\r\n\r\nA beautiful, customizable calendar component built with Svelte for displaying comedy events. Perfect for comedy clubs, venues, and event organizers who want to showcase their upcoming shows.\r\n\r\n## Features\r\n\r\n✨ **Three View Modes**: List, Gallery, and Calendar views\r\n🎨 **Beautiful UI**: Modern, responsive design built with Tailwind CSS\r\n📱 **Mobile-Friendly**: Swipe gestures, touch-optimized, responsive design\r\n🔌 **Easy Integration**: Works with React, Vue, vanilla JS, and more\r\n🌐 **One script tag**: Self-hosted bundle — paste one `<script>`, no build step\r\n🎨 **Styles included**: The bundle injects its own CSS — no separate stylesheet to link\r\n⚡ **Auto-Mount**: Automatically finds and mounts to designated containers\r\n🎯 **Customizable**: Configure views, navigation, and more\r\n🌙 **Dark Mode**: Built-in light, dark, and high-contrast themes\r\n♿ **Accessible**: ARIA labels, keyboard navigation, screen reader support\r\n🎫 **Event Status**: Visual badges for \"On Sale\", \"Selling Fast\", \"Sold Out\"\r\n\r\n## Installation\r\n\r\nAdd one `<script>` tag pointing at the Micdrop-hosted bundle. The package is\r\nprivate (not on npm/jsDelivr) — it is delivered from `get-micdrop.com`:\r\n\r\n```html\r\n<script\r\n  defer\r\n  src=\"https://get-micdrop.com/embed/venue-calendar.iife.js\"\r\n></script>\r\n```\r\n\r\n- **No stylesheet to link.** The bundle injects its own CSS at runtime, so a\r\n  plain page with just this `<script>` renders fully styled.\r\n- **Use `defer`** (or `async`) so the bundle never blocks page parse. It is\r\n  ~310 KB gzipped.\r\n- **Serve your page over HTTPS.** Checkout stores a `Secure` cart cookie, which\r\n  Safari drops on non-secure (`http://`) pages.\r\n\r\n> **Heads-up:** the exact hosted URL is being finalized (Micdrop ticket\r\n> MIC-1130). Confirm the address with Micdrop before going live.\r\n\r\n> The `import { ... } from '@getmicdrop/venue-calendar'` examples further down\r\n> are for **Micdrop-internal apps** that build with a bundler and have registry\r\n> access to the private package. Public sites (comedy clubs, etc.) use the\r\n> `<script>` tag above — not `npm install`.\r\n\r\n## Quick Start\r\n\r\n### Method 1: Auto-Mount (Easiest)\r\n\r\nSimply add a div with the class `micdrop-calendar-container` and the calendar will automatically mount:\r\n\r\n```html\r\n<!DOCTYPE html>\r\n<html>\r\n  <head>\r\n    <title>My Comedy Club</title>\r\n    <!-- Preload the bundle while the page parses. defer keeps the\r\n       <script> non-blocking; preload starts the fetch earlier. -->\r\n    <link\r\n      rel=\"preload\"\r\n      as=\"script\"\r\n      href=\"https://get-micdrop.com/embed/venue-calendar.iife.js\"\r\n    />\r\n    <script\r\n      defer\r\n      src=\"https://get-micdrop.com/embed/venue-calendar.iife.js\"\r\n    ></script>\r\n  </head>\r\n  <body>\r\n    <!-- Calendar auto-mounts here. Use data-organization-id to show all of an\r\n       organization's shows, or data-venue-id for a single venue. -->\r\n    <div\r\n      class=\"micdrop-calendar-container\"\r\n      data-organization-id=\"your-organization-id\"\r\n      data-view=\"calendar\"\r\n      data-show-view-options=\"true\"\r\n      data-show-month-switcher=\"true\"\r\n      data-locale=\"en-US\"\r\n    ></div>\r\n  </body>\r\n</html>\r\n```\r\n\r\n### Method 2: Web Component\r\n\r\nUse the custom `<micdrop-calendar>` element:\r\n\r\n```html\r\n<!DOCTYPE html>\r\n<html>\r\n  <head>\r\n    <title>My Comedy Club</title>\r\n    <script\r\n      defer\r\n      src=\"https://get-micdrop.com/embed/venue-calendar.iife.js\"\r\n    ></script>\r\n  </head>\r\n  <body>\r\n    <!-- Web Component -->\r\n    <micdrop-calendar\r\n      venue-id=\"your-venue-id\"\r\n      view=\"calendar\"\r\n      show-view-options=\"true\"\r\n      show-month-switcher=\"true\"\r\n      locale=\"en-US\"\r\n    >\r\n    </micdrop-calendar>\r\n  </body>\r\n</html>\r\n```\r\n\r\n### Method 3: JavaScript API\r\n\r\nFor more control, use the JavaScript API:\r\n\r\n```html\r\n<!DOCTYPE html>\r\n<html>\r\n  <head>\r\n    <title>My Comedy Club</title>\r\n  </head>\r\n  <body>\r\n    <div id=\"my-calendar\"></div>\r\n\r\n    <!-- Load the bundle, then call the global it exposes. -->\r\n    <script\r\n      defer\r\n      src=\"https://get-micdrop.com/embed/venue-calendar.iife.js\"\r\n    ></script>\r\n    <script>\r\n      window.addEventListener('load', function () {\r\n        window.VenueCalendar.initVenueCalendar({\r\n          target: '#my-calendar',\r\n          organizationId: 'your-organization-id',\r\n          view: 'calendar',\r\n          showViewOptions: true,\r\n          showMonthSwitcher: true,\r\n        });\r\n      });\r\n    </script>\r\n  </body>\r\n</html>\r\n```\r\n\r\n## Framework Integration\r\n\r\n### React\r\n\r\n```jsx\r\nimport React, { useEffect, useRef } from 'react';\r\nimport { initVenueCalendar, unmount } from '@getmicdrop/venue-calendar';\r\n\r\nfunction VenueCalendarComponent({ venueId, view = 'calendar' }) {\r\n  const calendarRef = useRef(null);\r\n  const instanceRef = useRef(null);\r\n\r\n  useEffect(() => {\r\n    if (!calendarRef.current) return;\r\n    instanceRef.current = initVenueCalendar({\r\n      target: calendarRef.current,\r\n      venueId,\r\n      view,\r\n      events: [],\r\n      showViewOptions: true,\r\n      showMonthSwitcher: true,\r\n    });\r\n\r\n    return () => {\r\n      // Svelte 5 — components mounted via `mount()` are destroyed via\r\n      // the `unmount` helper, not `.$destroy()` (that was Svelte 4).\r\n      if (instanceRef.current) {\r\n        try {\r\n          unmount(instanceRef.current);\r\n        } catch {}\r\n        instanceRef.current = null;\r\n      }\r\n    };\r\n  }, [venueId, view]);\r\n\r\n  return <div ref={calendarRef}></div>;\r\n}\r\n\r\nexport default VenueCalendarComponent;\r\n```\r\n\r\n### Error reporting and runtime config\r\n\r\nWire any errors caught by the widget into your existing monitoring:\r\n\r\n```js\r\nimport { configureVenueCalendar } from '@getmicdrop/venue-calendar';\r\n\r\nconfigureVenueCalendar({\r\n  onError: (err, { source }) => {\r\n    Sentry.captureException(err, { tags: { source, micdrop: true } });\r\n  },\r\n  // Optional overrides for self-hosted backends or regional failover.\r\n  // apiBaseUrl: 'https://api.eu.micdrop.com',\r\n  // apiTimeout: 15000,\r\n  // apiRetries: 2,\r\n});\r\n```\r\n\r\nFor ad-hoc support diagnostics, the widget exposes its version on\r\n`window`:\r\n\r\n```js\r\nwindow.__MICDROP_CALENDAR__.version; // e.g. \"3.6.23\"\r\n```\r\n\r\n**Usage in React App:**\r\n\r\n```jsx\r\nimport React, { useState } from 'react';\r\nimport VenueCalendarComponent from './VenueCalendarComponent';\r\n\r\nfunction App() {\r\n  const [venueId, setVenueId] = useState('comedy-club-123');\r\n  const [view, setView] = useState('calendar');\r\n\r\n  return (\r\n    <div style={{ padding: '20px' }}>\r\n      <h1>Event Viewer</h1>\r\n\r\n      <div style={{ marginBottom: '20px' }}>\r\n        <label>Venue ID:</label>\r\n        <input\r\n          type=\"text\"\r\n          value={venueId}\r\n          onChange={e => setVenueId(e.target.value)}\r\n        />\r\n      </div>\r\n\r\n      <div style={{ marginBottom: '20px' }}>\r\n        <label>Select View:</label>\r\n        <label>\r\n          <input\r\n            type=\"radio\"\r\n            value=\"list\"\r\n            checked={view === 'list'}\r\n            onChange={e => setView(e.target.value)}\r\n          />\r\n          List\r\n        </label>\r\n        <label>\r\n          <input\r\n            type=\"radio\"\r\n            value=\"gallery\"\r\n            checked={view === 'gallery'}\r\n            onChange={e => setView(e.target.value)}\r\n          />\r\n          Gallery\r\n        </label>\r\n        <label>\r\n          <input\r\n            type=\"radio\"\r\n            value=\"calendar\"\r\n            checked={view === 'calendar'}\r\n            onChange={e => setView(e.target.value)}\r\n          />\r\n          Calendar\r\n        </label>\r\n      </div>\r\n\r\n      <VenueCalendarComponent venueId={venueId} view={view} />\r\n    </div>\r\n  );\r\n}\r\n\r\nexport default App;\r\n```\r\n\r\n### Vue 3\r\n\r\n```vue\r\n<template>\r\n  <div ref=\"calendarContainer\"></div>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref, onMounted, onUnmounted, watch } from 'vue';\r\nimport { initVenueCalendar } from '@getmicdrop/venue-calendar';\r\n\r\nconst props = defineProps({\r\n  venueId: String,\r\n  view: {\r\n    type: String,\r\n    default: 'calendar',\r\n  },\r\n});\r\n\r\nconst calendarContainer = ref(null);\r\nlet calendarInstance = null;\r\n\r\nonMounted(() => {\r\n  calendarInstance = initVenueCalendar({\r\n    target: calendarContainer.value,\r\n    venueId: props.venueId,\r\n    view: props.view,\r\n    events: [],\r\n    showViewOptions: true,\r\n    showMonthSwitcher: true,\r\n  });\r\n});\r\n\r\nonUnmounted(() => {\r\n  if (calendarInstance && calendarInstance.$destroy) {\r\n    calendarInstance.$destroy();\r\n  }\r\n});\r\n\r\nwatch(\r\n  () => props.venueId,\r\n  newId => {\r\n    if (calendarInstance) {\r\n      calendarInstance.$destroy();\r\n      calendarInstance = initVenueCalendar({\r\n        target: calendarContainer.value,\r\n        venueId: newId,\r\n        view: props.view,\r\n        events: [],\r\n        showViewOptions: true,\r\n        showMonthSwitcher: true,\r\n      });\r\n    }\r\n  }\r\n);\r\n</script>\r\n```\r\n\r\n### Svelte\r\n\r\n```svelte\r\n<script>\r\n  import { VenueCalendar } from '@getmicdrop/venue-calendar';\r\n  import { Calendar, Grid, List } from 'carbon-icons-svelte';\r\n  import { writable } from 'svelte/store';\r\n\r\n  let venueId = 'your-venue-id';\r\n  let currentMonth = writable(new Date().getUTCMonth());\r\n  let currentYear = writable(new Date().getUTCFullYear());\r\n\r\n  function handleNext() {\r\n    currentMonth.update(m => m + 1);\r\n  }\r\n\r\n  function handlePrev() {\r\n    currentMonth.update(m => m - 1);\r\n  }\r\n</script>\r\n\r\n<VenueCalendar\r\n  showViewOptions={[\r\n    { id: 0, text: 'List view', icon: List },\r\n    { id: 1, text: 'Gallery view', icon: Grid },\r\n    { id: 2, text: 'Calendar view', icon: Calendar },\r\n  ]}\r\n  showMonthSwitcher={true}\r\n  events={[]}\r\n  {currentMonth}\r\n  {currentYear}\r\n  {handleNext}\r\n  {handlePrev}\r\n  on:eventClick={e => console.log('Event clicked:', e.detail)}\r\n/>\r\n```\r\n\r\nHost-page props — for a page that already owns part of what the widget draws.\r\nEvery one defaults to on, so embeds are unchanged:\r\n\r\n| Prop                | Type    | Default | Description                                                                                                                                                                                                                                                |\r\n| ------------------- | ------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `checkoutProbe`     | boolean | `true`  | Ask whether this page can sell a ticket and overlay the \"Online ticket sales are unavailable here\" alert when it cannot. `false` skips the probe and never draws the alert — for a host where no ticket is bought, such as a site builder's design canvas. |\r\n| `showGiftCardsLink` | boolean | `true`  | The footer's \"Gift cards\" link. `false` for a host page whose own footer already carries it.                                                                                                                                                               |\r\n| `showPoweredBy`     | boolean | `true`  | The footer's \"Powered by Micdrop\" mark. `false` for a host page whose own footer already carries it.                                                                                                                                                       |\r\n\r\n### Angular\r\n\r\n```typescript\r\nimport {\r\n  Component,\r\n  OnInit,\r\n  OnDestroy,\r\n  ElementRef,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { initVenueCalendar } from '@getmicdrop/venue-calendar';\r\n\r\n@Component({\r\n  selector: 'app-venue-calendar',\r\n  template: '<div #calendarContainer></div>',\r\n})\r\nexport class VenueCalendarComponent implements OnInit, OnDestroy {\r\n  @ViewChild('calendarContainer', { static: true })\r\n  calendarContainer!: ElementRef;\r\n  private calendarInstance: any;\r\n\r\n  ngOnInit() {\r\n    this.calendarInstance = initVenueCalendar({\r\n      target: this.calendarContainer.nativeElement,\r\n      venueId: 'your-venue-id',\r\n      view: 'calendar',\r\n      events: [],\r\n      showViewOptions: true,\r\n      showMonthSwitcher: true,\r\n    });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.calendarInstance && this.calendarInstance.$destroy) {\r\n      this.calendarInstance.$destroy();\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## Configuration Options\r\n\r\n### Data Attributes (for auto-mount)\r\n\r\n| Attribute                  | Type    | Default      | Description                                          |\r\n| -------------------------- | ------- | ------------ | ---------------------------------------------------- |\r\n| `data-venue-id`            | string  | `''`         | The venue ID to fetch events for                     |\r\n| `data-view`                | string  | `'calendar'` | Initial view: `'list'`, `'gallery'`, or `'calendar'` |\r\n| `data-show-view-options`   | boolean | `true`       | Show view switcher buttons                           |\r\n| `data-show-month-switcher` | boolean | `true`       | Show month navigation controls                       |\r\n\r\n### JavaScript API Options\r\n\r\n```javascript\r\ninitVenueCalendar({\r\n  target: '.my-calendar', // CSS selector or HTMLElement (required)\r\n  venueId: 'venue-123', // Venue ID (optional)\r\n  view: 'calendar', // 'list', 'gallery', or 'calendar' (default: 'calendar')\r\n  events: [], // Array of event objects (default: [])\r\n  showViewOptions: true, // Show view switcher (default: true)\r\n  showMonthSwitcher: true, // Show month navigation (default: true)\r\n});\r\n```\r\n\r\n### Event Object Structure\r\n\r\n```javascript\r\n{\r\n  id: 'event-123',\r\n  name: 'Comedy Night',\r\n  date: '2024-10-25T20:00:00Z',\r\n  image: 'https://example.com/image.jpg',\r\n  status: 'On Sale',\r\n  timeline: '8:00 PM - 10:00 PM',\r\n  // ... other fields\r\n}\r\n```\r\n\r\n## Views\r\n\r\n### Calendar View\r\n\r\nThe default view showing events in a monthly calendar grid. Perfect for venues with regular shows.\r\n\r\n### List View\r\n\r\nA vertical list layout showing all upcoming events with details. Great for mobile experiences.\r\n\r\n### Gallery View\r\n\r\nA grid layout displaying event posters in a gallery format. Ideal for showcasing event imagery.\r\n\r\n## WordPress Integration\r\n\r\nFor WordPress sites, you can add this to your page/post HTML:\r\n\r\n```html\r\n<div\r\n  class=\"micdrop-calendar-container\"\r\n  data-venue-id=\"your-venue-id\"\r\n  data-view=\"calendar\"\r\n></div>\r\n\r\n<script src=\"https://get-micdrop.com/embed/venue-calendar.iife.js\"></script>\r\n```\r\n\r\nOr add the script to your theme's footer and use the div anywhere in your content.\r\n\r\n## Styling\r\n\r\nThe calendar comes with built-in styles using Tailwind CSS. If you need to customize the appearance, you can override the CSS classes or add your own styles.\r\n\r\n```css\r\n/* Example: Custom styling */\r\n.micdrop-calendar-container {\r\n  max-width: 1200px;\r\n  margin: 0 auto;\r\n  padding: 20px;\r\n}\r\n```\r\n\r\n**Note:** The mount target must not be a shrink-to-fit box (`display: inline-block`, `float`, `position: absolute`, `display: table-cell`, or an auto-width item in a flex row). The calendar sizes its typography to its own container, which requires the mount target to get its width from its parent — a normal block element (as in every example above) is exactly right. If the calendar detects a shrink-to-fit mount target, it falls back to page-width type scaling and logs a console warning.\r\n\r\n## Theming\r\n\r\nThe calendar supports comprehensive theming via CSS custom properties and JavaScript utilities.\r\n\r\n### Using CSS Custom Properties\r\n\r\nOverride the default theme by setting CSS custom properties:\r\n\r\n```css\r\n/* Custom brand colors */\r\n.micdrop-calendar-container {\r\n  --Brand-Primary: 270 76% 60%; /* Purple */\r\n  --Text-Primary: 0 0% 10%;\r\n  --BG-Primary: 0 0% 100%;\r\n}\r\n\r\n/* Dark mode */\r\n.dark .micdrop-calendar-container,\r\n[data-theme='dark'] .micdrop-calendar-container {\r\n  --Brand-Primary: 270 76% 70%;\r\n  --Text-Primary: 0 0% 95%;\r\n  --BG-Primary: 0 0% 10%;\r\n}\r\n```\r\n\r\n### Available CSS Variables\r\n\r\n| Variable               | Description             | Default (Light)      |\r\n| ---------------------- | ----------------------- | -------------------- |\r\n| `--Brand-Primary`      | Primary brand color     | `217 91% 60%` (Blue) |\r\n| `--Text-Primary`       | Main text color         | `0 0% 0%`            |\r\n| `--Text-Secondary`     | Secondary text          | `0 0% 40%`           |\r\n| `--BG-Primary`         | Main background         | `0 0% 100%`          |\r\n| `--BG-Secondary`       | Secondary background    | `0 0% 98%`           |\r\n| `--Stroke-Primary`     | Border colors           | `0 0% 80%`           |\r\n| `--Status-OnSale`      | \"On Sale\" badge         | `217 91% 60%`        |\r\n| `--Status-SellingFast` | \"Selling Fast\" badge    | `38 92% 50%`         |\r\n| `--Status-SoldOut`     | \"Sold Out\" badge        | `0 84% 60%`          |\r\n| `--Today-BG`           | Today's date background | `217 91% 97%`        |\r\n| `--Focus-Ring`         | Keyboard focus ring     | `217 91% 60%`        |\r\n\r\n### Using JavaScript Theme Utilities\r\n\r\n```javascript\r\nimport {\r\n  applyTheme,\r\n  themes,\r\n  generateThemeCSS,\r\n} from '@getmicdrop/venue-calendar';\r\n\r\n// Apply a preset theme\r\napplyTheme(themes.dark);\r\n\r\n// Apply to a specific container\r\nconst container = document.querySelector('.micdrop-calendar-container');\r\napplyTheme(themes.dark, container);\r\n\r\n// Create a custom theme\r\nconst myTheme = {\r\n  brandPrimary: '270 76% 60%', // Purple\r\n  textPrimary: '0 0% 10%',\r\n  bgPrimary: '0 0% 100%',\r\n  statusOnSale: '142 71% 45%', // Green for on sale\r\n};\r\napplyTheme(myTheme);\r\n\r\n// Generate CSS string for embedding\r\nconst cssString = generateThemeCSS(myTheme);\r\nconsole.log(cssString);\r\n// Output: :root { --Brand-Primary: 270 76% 60%; ... }\r\n```\r\n\r\n### Preset Themes\r\n\r\nThree themes are included out of the box:\r\n\r\n```javascript\r\nimport { themes } from '@getmicdrop/venue-calendar';\r\n\r\n// Light theme (default)\r\napplyTheme(themes.light);\r\n\r\n// Dark theme\r\napplyTheme(themes.dark);\r\n\r\n// High contrast (accessibility)\r\napplyTheme(themes.highContrast);\r\n```\r\n\r\n### Automatic Dark Mode\r\n\r\nThe calendar automatically respects the user's system preference:\r\n\r\n```css\r\n/* Automatically applied when user prefers dark mode */\r\n@media (prefers-color-scheme: dark) {\r\n  /* Dark theme variables are applied */\r\n}\r\n```\r\n\r\nYou can also manually toggle dark mode:\r\n\r\n```html\r\n<!-- Add 'dark' class to enable dark theme -->\r\n<div class=\"dark\">\r\n  <div class=\"micdrop-calendar-container\" data-venue-id=\"123\"></div>\r\n</div>\r\n\r\n<!-- Or use data-theme attribute -->\r\n<div data-theme=\"dark\">\r\n  <div class=\"micdrop-calendar-container\" data-venue-id=\"123\"></div>\r\n</div>\r\n```\r\n\r\n## Localization and the CDN bundle\r\n\r\nThe calendar and the checkout speak thirteen languages. English is built into the\r\nbundle; the other twelve are **fetched at runtime**, one file, only for the\r\nlocale actually in use — so a buyer never downloads twelve languages to read one.\r\nThis is what keeps the CDN bundle at ~594 KB gzipped instead of ~686 KB.\r\n\r\nFor the npm package nothing is required: your bundler code-splits the catalogues\r\nand addresses them itself.\r\n\r\nFor the `<script>` embed, the bundle works out where to fetch from by looking at\r\nthe URL it was itself served from, and loads a **version-pinned sibling**:\r\n\r\n```\r\nhttps://get-micdrop.com/embed/venue-calendar.iife.js\r\nhttps://get-micdrop.com/embed/locales/<version>/main/es.js   ← calendar copy\r\nhttps://get-micdrop.com/embed/locales/<version>/flow/es.js   ← checkout copy\r\n```\r\n\r\nIf you self-host the bundle, **copy the `dist/locales/` directory alongside it**.\r\nVersion-pinned paths mean new releases only ever add files; they never overwrite\r\nthe catalogue an older pinned bundle is using.\r\n\r\n### When the fetch cannot happen\r\n\r\nIf the locale file cannot be loaded — a Content-Security-Policy that allowlists\r\nthe exact script file rather than the origin, an offline CDN, or a\r\n`<script type=\"module\">` embed where the bundle cannot see its own URL — the\r\ncalendar simply stays in English. Nothing errors and nothing breaks; the widget\r\nrenders and sells tickets exactly as it does for an English buyer.\r\n\r\nTwo ways to point it at the right place when it cannot work it out:\r\n\r\n```html\r\n<!-- Option A: tell it before the bundle loads -->\r\n<script>\r\n  window.__MICDROP_CALENDAR_ASSET_BASE__ = 'https://get-micdrop.com/embed/';\r\n</script>\r\n<script\r\n  defer\r\n  src=\"https://get-micdrop.com/embed/venue-calendar.iife.js\"\r\n></script>\r\n\r\n<!-- Option B: put it on the tag -->\r\n<script\r\n  defer\r\n  src=\"https://get-micdrop.com/embed/venue-calendar.iife.js\"\r\n  data-vc-base=\"https://get-micdrop.com/embed/\"\r\n></script>\r\n```\r\n\r\n`defer` and `async` need no override — a classic script still knows its own URL.\r\n\r\n### First paint is always English\r\n\r\nA non-English buyer sees English for a moment on a cold load and the page swaps\r\nto their language when the catalogue arrives. This is deliberate: the calendar\r\npaints immediately rather than waiting on a translation file.\r\n\r\n## Browser Support\r\n\r\n- Chrome (latest)\r\n- Firefox (latest)\r\n- Safari (latest)\r\n- Edge (latest)\r\n- Mobile browsers (iOS Safari, Chrome Mobile)\r\n\r\n## Development\r\n\r\n### Building the Package\r\n\r\n```bash\r\n# Install dependencies\r\nnpm install\r\n\r\n# Build the library\r\nnpm run build:lib\r\n\r\n# Development mode (SvelteKit app)\r\nnpm run dev\r\n\r\n# Preview production build\r\nnpm run preview\r\n```\r\n\r\n`build:lib` is three passes and the order matters: the IIFE pass runs first and\r\nowns the `dist/` wipe, the ES/UMD pass appends to it, and\r\n`vite.config.locales.js` appends the runtime locale catalogues\r\n(`dist/locales/<version>/{main,flow}/<tag>.js`) last. `npm run size` fails if the\r\nbundle and its catalogues do not both come out of that.\r\n\r\n### Project Structure\r\n\r\n```\r\nvenue-calendar/\r\n├── src/\r\n│   ├── components/         # Svelte components\r\n│   │   ├── Calendar/\r\n│   │   ├── CalendarContainer/\r\n│   │   └── Button/\r\n│   ├── lib/               # Library entry points\r\n│   │   ├── VenueCalendar.js\r\n│   │   └── web-component.js\r\n│   └── routes/            # SvelteKit routes (for dev)\r\n├── dist/                  # Built package (generated)\r\n│   └── locales/<version>/ # Runtime locale catalogues for the CDN bundle\r\n├── package.json\r\n├── vite.config.lib.js     # Library build config (ES/UMD + IIFE passes)\r\n├── vite.config.locales.js # Emits the runtime locale catalogues\r\n└── README.md\r\n```\r\n\r\n### Lockfile policy\r\n\r\n`package-lock.json` is the single canonical lockfile — CI and the publish\r\nworkflow install with `npm ci`. Do not commit `yarn.lock` or\r\n`pnpm-lock.yaml` (both gitignored). Local dev machines may use pnpm for the\r\nsvelte-components symlink workflow, but dependency changes must land in\r\n`package-lock.json` via npm.\r\n\r\n## API Reference\r\n\r\n### `initVenueCalendar(options)`\r\n\r\nInitialize a calendar instance.\r\n\r\n**Parameters:**\r\n\r\n- `options` (Object): Configuration options\r\n\r\n**Returns:** Svelte component instance\r\n\r\n**Example:**\r\n\r\n```javascript\r\nconst calendar = initVenueCalendar({\r\n  target: '#calendar',\r\n  venueId: 'venue-123',\r\n  view: 'calendar',\r\n});\r\n```\r\n\r\n### `autoMount()`\r\n\r\nAutomatically mount calendars to all elements with class `micdrop-calendar-container`.\r\n\r\n**Example:**\r\n\r\n```javascript\r\nimport { autoMount } from '@getmicdrop/venue-calendar';\r\nautoMount();\r\n```\r\n\r\n### Component Events\r\n\r\nThe calendar component emits events that you can listen to:\r\n\r\n```javascript\r\nconst calendar = initVenueCalendar({\r\n  target: '#calendar',\r\n  // ... other options\r\n});\r\n\r\n// Listen to component events (if using Svelte component directly)\r\ncalendar.$on('eventClick', event => {\r\n  console.log('Event clicked:', event.detail);\r\n});\r\n```\r\n\r\n## Troubleshooting\r\n\r\n### Calendar not appearing\r\n\r\n1. **Check the script is loaded**: Open browser console and verify no errors\r\n2. **Verify container exists**: Make sure the target element exists in the DOM\r\n3. **Check data attributes**: Ensure attributes are correctly formatted with `data-` prefix\r\n\r\n### Styles not applying\r\n\r\n1. **CSS not loaded**: The styles are bundled in the JS file and auto-injected — no separate stylesheet needed\r\n2. **CSS conflicts**: Check if other styles are overriding the calendar styles\r\n3. **Bundle didn't load**: Confirm the `<script src>` points at the Micdrop-hosted bundle and returns 200 (not 404)\r\n\r\n### Events not showing\r\n\r\n1. **Check event data format**: Ensure events match the expected structure\r\n2. **Date format**: Use ISO 8601 format for dates (`YYYY-MM-DDTHH:mm:ssZ`)\r\n3. **Venue ID**: Verify the venue ID is correct\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n## License\r\n\r\nMIT © MicDrop\r\n\r\n## Support\r\n\r\nFor issues, questions, or feature requests, please visit:\r\nhttps://github.com/get-micdrop/venue-calendar/issues\r\n\r\n---\r\n\r\nMade with ❤️ by the MicDrop team\r\n","readmeFilename":"README.md"}