{"_id":"classpresso","_rev":"32-8c9987d3e32c165f650da77b25b76344","name":"classpresso","dist-tags":{"latest":"1.7.3"},"versions":{"1.0.0":{"name":"classpresso","version":"1.0.0","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.0.0","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"70613efd8930b99fe31bde3e49564b763600cb39","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.0.0.tgz","fileCount":35,"integrity":"sha512-fvP4J25V8HOibMPnbaWl12wrQ1lZCl5Zjui/eB5Ik+AmQG0pEK21EKs1k1ZTHIGDdd0U7qJA2E3gq4LBIAYqXQ==","signatures":[{"sig":"MEYCIQCdqVOf0l+5J3bNkumD2SthNXRXb9vFsX1vOQ5TRATQPwIhAOVLA3iwVCzFOGuzBcSqCt1eplVLt3j6to2xft9NpTxh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":703840},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.js"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.mjs","require":"./dist/scanner.js"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.mjs","require":"./dist/transformer.js"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.mjs","require":"./dist/consolidator.js"}},"gitHead":"f21b7dd5779575feab9ccd7d94641e8a9818eea2","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.0.0_1767814760494_0.7019007974154183","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"classpresso","version":"1.1.0","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.1.0","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"5751fe2c71f9314a9eb1a1f3b3ccce4719a39bc7","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.1.0.tgz","fileCount":35,"integrity":"sha512-Qu0kyY/DrseRBxHy8BxvSiQOsWKdeK3FhH9YFCCG6paCEWE+c8CjV2sJUSsF34RID6Tvu2JV62S9h+cXJ8uMig==","signatures":[{"sig":"MEYCIQDHW5+56ijZrd+YszZum/sOcIaebn5T/2WjgTxc5CBrWgIhAIprxWGxk3COZOFF2MLP4NgSLGdHty4TGmeXvLDWMSIW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707246},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.js"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.mjs","require":"./dist/scanner.js"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.mjs","require":"./dist/transformer.js"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.mjs","require":"./dist/consolidator.js"}},"gitHead":"82917e3c647b5bf0c13d9beebc1dfe482d8912bf","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.1.0_1767841416073_0.5997965937036513","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"classpresso","version":"1.1.1","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.1.1","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"5c79f13c7503e2cb7cca44840c50b4f74a1f93ad","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.1.1.tgz","fileCount":35,"integrity":"sha512-NNpwfA2oPZ33kFQpF3ZT+A6vE3IYty9CjrTHTBoQ+msmCL9+SsGBZ74uBZtxlWZkyqS5qjIWf3R3HnVDk3eGjQ==","signatures":[{"sig":"MEQCIDWW0yOyRmAv4qt9oH1k2OtTUIqQcAf4nm8M+gJe6kGoAiAOllDehU3orBXx6/ujDNSRqX20k4Ken/VSAJco2629ig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707379},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.js"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.mjs","require":"./dist/scanner.js"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.mjs","require":"./dist/transformer.js"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.mjs","require":"./dist/consolidator.js"}},"gitHead":"f9db589859fef9880ec52b3623d89d8a8157c5ab","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.1.1_1767842074892_0.17672846009744503","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"classpresso","version":"1.2.0","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.0","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"b64ce98dce5a93b1f7b38a7bc2b92c8d13682b6f","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.0.tgz","fileCount":35,"integrity":"sha512-kc/OKx7WgvDVoy3ko4w3G3EgOrDpx9iFSZ2sLll2ICOfUOT0sQzQUUePXypXDy2OLDURVRRYdSgtNgIjdpiSpQ==","signatures":[{"sig":"MEUCIQDDOH9j8BzNQJC9a1Ju9bBooR9EAB/yjbg2NaSDG4fGIAIgHO2GsNPgr2uX8oIqgxrdL0xJaTBFy9eTQDxARjr05H8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720684},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.js"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.mjs","require":"./dist/scanner.js"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.mjs","require":"./dist/transformer.js"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.mjs","require":"./dist/consolidator.js"}},"gitHead":"442de060228be79b6c1a96b3f2c4030c6f56c00d","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.0_1767842363338_0.09091677681836252","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"classpresso","version":"1.2.1","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.1","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"6759b17ae242a1b6f578ec794f14da068b51b815","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.1.tgz","fileCount":35,"integrity":"sha512-+w3zV4/9tu/xkDvffbCzQ3/IZvMLQWiH99gh9kYHUPdWigtXxCHdiQ1ijcta9cLVeR4EETr22KecEdKnKHJ9Xw==","signatures":[{"sig":"MEUCIEIwsQQdXPVZowK7cWD+ojTgl3cajCVNGxImCPHMw+FgAiEAy2p0pQ8Ysc3s0t5ljR5uTmt/QEGNIC1SaBjTKO5ARCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720678},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.js"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.mjs","require":"./dist/scanner.js"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.mjs","require":"./dist/transformer.js"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.mjs","require":"./dist/consolidator.js"}},"gitHead":"f58a2d60f61071c8fbd2baebbf6a0cddd5059bd1","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.1_1767854069769_0.3552701702469432","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"classpresso","version":"1.2.2","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.2","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"16acc4d97347cd4dd6c6e80e856a80532a615a0a","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.2.tgz","fileCount":35,"integrity":"sha512-i72dWjn7pjr2b3DQTZMAEC2rAAtYVMhsCrBhzQ08d5oTvrT8t+m+sw/y+JCRw1vby3RPOMwmNik8Be6MIcRf8A==","signatures":[{"sig":"MEUCIQCPX1u6PaO9crLptJy4/AGRM7iWHcr0dX5SqGROTSVe8wIgUb0idn9+YKCbaRXfzdRpnzDu4gH5QBn/tzA73OShcxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720678},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"968af015fb427fc1022ac10077c3bd5bca5db592","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.2_1767854403213_0.9975468946754744","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"classpresso","version":"1.2.3","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.3","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"721f70f688453a8d7491c2e2bdfba34c59db6576","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.3.tgz","fileCount":35,"integrity":"sha512-W5hXi+Zh/pnnqzpXjW+Yz+IJjaM1K01tRcKcRygqTrAwTzC599uoraIsKDCWAW5Z3YIS+KI0nmuvJIIGmZ4h6Q==","signatures":[{"sig":"MEUCIFdJZ559UTDz+mrw+PS3CjMx+9ukCuqvqmh3HlIgB2IqAiEAw7/GHSnqSStMNDgqqHiY7PtMD5AulIFzJ3IYAJHU99M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":733670},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"26cae08db9c3f6739248e5f82e6ced2bce2d30a4","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.3_1767855219784_0.8059527606506809","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"classpresso","version":"1.2.4","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.4","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"c5d815655eae9962a30eebf5c597963465104894","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.4.tgz","fileCount":35,"integrity":"sha512-T5TFJQeGbiUxmlpcVvCI+YGJ28Tt/AoWPssyHzBy6nksYfv7Hz7Ty+C5JG9O/84roJ5t3ZDYnQ5A0MAjRju5iQ==","signatures":[{"sig":"MEUCICZPpYDsSZ+a32dDApZeprTyU2LZKV8lBZ3IhjdESy7lAiEAvT/+V7SIdcv2iuF31zhheRWF6QnT64p2H6w+ERjaz3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":749282},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"26cae08db9c3f6739248e5f82e6ced2bce2d30a4","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.4_1767856620314_0.31032295517414066","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"classpresso","version":"1.2.5","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.5","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"eb8b677591eb47507741dd8084c0e1b9c1a0b1c8","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.5.tgz","fileCount":35,"integrity":"sha512-dgM5ze/npE1yGoATraoDlYko4hvqLO1cyv4k2C2lYn96o3L/stMZPSTns8+piU+895E/i8LqR1NrR5aOlX9QTg==","signatures":[{"sig":"MEUCIQCpVyK4Mdjj4MLeUvHtv5HqYG1eIjJkTg6LxyRpkdWm9QIgXQATEn28kODgPUZY7w+9eB35PWn885/Yy8bUmfSssjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":749282},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"26cae08db9c3f6739248e5f82e6ced2bce2d30a4","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.5_1767858307282_0.8885683813160117","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"classpresso","version":"1.2.6","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.6","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"41823242ea620409242676551785ee1d45e02fb6","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.6.tgz","fileCount":35,"integrity":"sha512-7WS4Yt/73583TwJi0TAeRMHXSnJbrb+3+PSmVFxRdMe0lgzhLK1eNGEE6XGP1XHdGj9LLSs1+AVlZcfyCBgxBA==","signatures":[{"sig":"MEQCIApL1jzNusPnB2vXKs06I7rETBVfGc2Dcz5z5T6AtkpdAiAPTThe105aUiySiNUR4K4Jv5BeaVPPugLjHD+GHRZhaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":759236},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"a23b2e7cc093bd60cda38b3d1993ef7700b5ead6","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.6_1767860342742_0.3039587588846413","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"classpresso","version":"1.2.7","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.7","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"8a7e74e2072fdf986449ef89005dbe97014e862f","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.7.tgz","fileCount":35,"integrity":"sha512-WsyBs0qcswPaCMVw3ku4lyMeYJUx9kAe4T6/b9oslOjS+pgJF6nRJzuzeg/iUv6WXgtN6sl41hcUCUIAMpBr6g==","signatures":[{"sig":"MEUCIA8lVyy2Lf7VLZduL91YcZ749HDDrzWNE3TNhEJ8+L2aAiEA+KDH27d9sCFPrJLaW4HWmjAy5E3JPVRRHVHkdrTkcyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":828800},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"0cc34e1ad98862dea8eb37ae8fe8b150003d16eb","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.7_1767861922629_0.0736824509092342","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"classpresso","version":"1.2.8","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.8","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"63608e006fef7adce35b128e578a27a21826fa9a","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.8.tgz","fileCount":35,"integrity":"sha512-YZzW1FuY18GhGptGPpS1PliY8TBPy4k3xDdMUPmwsaQtj4Cvy+FAzDG0nIvg+pd36Ir7n7bPSzHm3/WGziWriw==","signatures":[{"sig":"MEUCIQC965JwhuMwI1HAuTOpQmducCcIK8MngUbiHNcUJnM/EgIgYmwQ+65XNEBRw60tWuWaxzGXVGaAi8ykumoxa8YMTIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":827708},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"d064cbec441368004dc6968890532aec1d627cc8","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.8_1767862303194_0.8768201828482964","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"classpresso","version":"1.2.9","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.9","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"5fa5b6e7893076775923acd6ace24236cc8c73ce","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.9.tgz","fileCount":35,"integrity":"sha512-TMcNfdkmh1kO/j3Ji17eInOTpWUsDcnOmf+D2xY8eiol0HVFMSxOkj/EopORBslSxAbHGPR+NL24hLUtt3kDKQ==","signatures":[{"sig":"MEUCIHTO79CEncTaYGViztkDFqJtgWn8NeIf6rrxdIOUEHrzAiEAzaODaSb+pp3zIbN+/RMBsp9sUD9p55x6FcEvxRFKvk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":833870},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"d064cbec441368004dc6968890532aec1d627cc8","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.9_1767862949726_0.3552636909176896","host":"s3://npm-registry-packages-npm-production"}},"1.2.10":{"name":"classpresso","version":"1.2.10","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.10","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"93ac5df0105f82bc2035239e023869f2bd829158","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.10.tgz","fileCount":35,"integrity":"sha512-AHupnZjdyU5c4Xgf19nPQaitQbvOCeUWC/Btb3f49ZE44ZOl+OJnulrxKtq1pj05Am0Li6DX/ZHNTvzGuo0kMQ==","signatures":[{"sig":"MEYCIQCIDBs4m+ygXn8GAF0Brq1vDqNuGZn4ARALKDLegLZt4wIhAJCIlcGUY+buqUaktj24kYBYbcOsX/07Fbd+7YxxClKT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":838273},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"78c4a362339fd7c2a9b3bee5d794d411bc0c9db4","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.10_1767863409634_0.2322229935100537","host":"s3://npm-registry-packages-npm-production"}},"1.2.11":{"name":"classpresso","version":"1.2.11","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.11","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"c2f93770ce6f4e1a450fa1a1a83d2058f0c69849","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.11.tgz","fileCount":35,"integrity":"sha512-mfAWB1YkotW2IBhVhocD49TcVy1gvyb6DP21+vSY4V3yNPf3g35mTSeMJbbbgeqDGdfJ4JzHGWdqJxwnPomDyQ==","signatures":[{"sig":"MEUCIAJnpN6tEPs97YOuX/X1TyNduKRpEs4PAfQqCWk8N8w/AiEA/wGDemUkd+lSHSp6BFqEoOItgX6oYrh3RxUkiNjqGig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":865262},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"3ee412a343977b88b8620278557d1585048e40aa","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.11_1767864168073_0.15340541824944331","host":"s3://npm-registry-packages-npm-production"}},"1.2.12":{"name":"classpresso","version":"1.2.12","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.12","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"88ded3340315cb77476a9920d1983f580f8be1fe","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.12.tgz","fileCount":35,"integrity":"sha512-gn11vcYrOshb8vMoSYEsCmFeGJMkMmgCdg+GLCZLlAkRRAePfQrW99xQKIiVL7BPjLG8RdXj9yGUwb/vh/uxYw==","signatures":[{"sig":"MEUCIQCpOKXZvq73nkybknqQtmBjecZWKCRWPZQLaAguRHNZ5AIgCiVfQEytzhg/w6IXtbx9NLgifaNBGOgmVMgLMirR3lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":916482},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"bb624d2096e33f2a106484bd3c7249d1f9454072","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.12_1767882556995_0.5324147367077043","host":"s3://npm-registry-packages-npm-production"}},"1.2.13":{"name":"classpresso","version":"1.2.13","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.13","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"b4e638bbe05727ca413870664d9cc68267512e33","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.13.tgz","fileCount":35,"integrity":"sha512-T2Xo09exzs/FZJmmoDfc560SADY6HcRI1ZbStGBZsXSjmIBJ5Vp14HtikR3096ozdLOQfJOHYCEKHIDd6ygKUw==","signatures":[{"sig":"MEQCIHFp9psX68tALD7U5V+oI8KypvKnVlK0VnpvrIvMh6QtAiBW0NAW9n+NIeiKQOWOAKhVQQ/seBxKgguaFQmiGqBmfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":919970},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"078754d63dce81e66d150e19fdeb29b2dbc855f2","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.13_1767888865589_0.009982669520187892","host":"s3://npm-registry-packages-npm-production"}},"1.2.14":{"name":"classpresso","version":"1.2.14","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.2.14","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"7fa0a07f22898f4717daf0f0ae1a828f2cfa5a1a","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.2.14.tgz","fileCount":35,"integrity":"sha512-gnDX8p5sOtChaj4XxeMzDmGAqizXSzA5dL5gwIL/QSO5AUs4lD6n1dq/VT3Vx9Z2UyOzaEjpwChg5jgh26qwAA==","signatures":[{"sig":"MEYCIQDphiYSVUWAkVtdtjamm4+FTv+0x2PqM5LrJAd+eEy+lwIhAJXDc/7PTvtHTHFLCvUgiqIKCSXt+YlWqREdTDxDQUY6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":959238},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"078754d63dce81e66d150e19fdeb29b2dbc855f2","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.2.14_1767894040529_0.6066271529495157","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"classpresso","version":"1.3.0","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.3.0","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"9a624609c03669063f52beed182354f597457901","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.3.0.tgz","fileCount":35,"integrity":"sha512-d1d1CoF2FnVwZZFbv0OcGlbWJst4xMhwuJlVrl3oVUNXNEyPH/RTuc+Am9UlUk+sa9H7gC6UIL/TgC+ilhqJQQ==","signatures":[{"sig":"MEUCIQCaPNZLQArw8JGQYfftXo0CpBZN+aRUtF9TD8hNZH27GwIgM1weXL5phQOhep+payTw/HYELKoHTY2WQjEFvYaB7GM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":995871},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"71c92c210074265784f18eab83089325a25b1b3a","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.3.0_1767898307417_0.31053361842452865","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"classpresso","version":"1.3.1","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.3.1","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"595d5b4afd5335345da491b2b96a0d58b507daf7","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.3.1.tgz","fileCount":35,"integrity":"sha512-HFRtfOl0+SL9lj2EoLlsvYoDgOOn/wc1+vf63h2+qx2vDLtOOeVgAMpBXja8uL5BjGj9U9Q0xbRzhM2VsrhD0A==","signatures":[{"sig":"MEUCIQC2ZrARfPiHAMQkY1TmUzwQTLLL/u3DJsasgCK/D/T+RwIgBDdDag3LG+ClvBXVom8B3Ts9myyJGZsejf+LdjuCdYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":997082},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"28ddd5578f570509765fd9ce72eb90684ba528f6","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.3.1_1767899837855_0.735276468406423","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"classpresso","version":"1.4.0","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.4.0","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"21bfbc85c014d08701c94f169560f13d13e5edd8","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.4.0.tgz","fileCount":35,"integrity":"sha512-ZhGM2sY3uKXOD0YvNzMCXvFIvEpTAbahVObwNzKhO4msl6+4JklVsaM/Z4wJrxwsk4wFFXUd3+0DCVOIgGafzg==","signatures":[{"sig":"MEUCIQC37EFaJu/2N+6vLuvTOt8rbu0wmVP6s9VGpRB7veQy3AIgY52xXzomRkfPVjQ0OBy0BxcSh7CrE6MnzR9qkCd9wds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1083721},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"60793ed3b7ddb8dc5d1eff1ff861bb137e183120","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.4.0_1767900605463_0.31004259944597523","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"classpresso","version":"1.4.1","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.4.1","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"d94f6e1e92c2c1efae999ef53b96ef9df184fb13","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.4.1.tgz","fileCount":35,"integrity":"sha512-vttn48GMpP+zI34XWdtBH/G++eNnRysPzlDi5J1RfDV9yDyqIiV8pkO6G3p0XSx+m495PVWKMvXFZUx9TWUDJA==","signatures":[{"sig":"MEUCIQC6oCcKdpWo2rTyWqWZQGncFyCpgbpBUYyPCHQn7zpI+QIgZVX8pY6B9FRZdUos/2tI4/sR0DYedBckzFclxhU0PpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1090851},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"4431d2aa2c9aac89ddac664281c3575bfd6c9765","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.4.1_1767901299362_0.10383976977566478","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"classpresso","version":"1.5.0","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.5.0","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"bdb5864d7b504cbd2e32ecf417da96c38051d9c6","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.5.0.tgz","fileCount":35,"integrity":"sha512-sNwJTPKtYD9lToyJryuGMdqCGbV655G84fXU4OO+uOhU2kuvKexVpafbzz1IIiOPDn3TamaB93EyaI942F2jYg==","signatures":[{"sig":"MEUCIQDvjdWlHXxApyUBGrPfxg0CevrsdUAZ6dZ7ajJgcDA/owIgRrXh0zo3Np18QrDH462IaGUEBsxcuyQlurmuqTTN3g4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1101477},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"e6752eae36feaa8bad11d32ccb926cea6a4e2f4c","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.5.0_1767901560655_0.28685801015429946","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"classpresso","version":"1.6.0","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.6.0","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"326670b42f317cc91be8f0aed30a6548cfd66ab5","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.6.0.tgz","fileCount":35,"integrity":"sha512-y8zEwM2kQLUIu/8Ob2IkQ79+oFFgNpEuNdUSWxYFno0k7HRGrX+l3m4OaWM4KdTIB5+FzAO+XUy9E2rf4BFkTg==","signatures":[{"sig":"MEQCIAYucvREi4S/ChWmjrEjG8yaKbXNPTM0xg/KDnurovpCAiAxjZ4FzJr5jIrFkxLDlyf7+4i8R3UKaYUI/JVU9IVrCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1165029},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"76bfd493460fd20edfffd1823597022416ba0a2e","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.6.0_1767901948709_0.44461283748291325","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"classpresso","version":"1.6.1","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.6.1","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"d1e5bd3cde143268ab5af7ca1d9c6a812f1a194c","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.6.1.tgz","fileCount":35,"integrity":"sha512-1jC1H0orrJQLVKm0aJdcfnaLiMHCLdtfJ5TKPPtKanHt4LfxccwSiHQvwtbPYZmXXhXjy+qs5Lht21TbDJkuRw==","signatures":[{"sig":"MEQCIEs0TKi215qcSywD4zAsjeuPPT0o/CIPX0NAz8zEUQ3pAiBCmincx2H74GTZc6y8Rk/vKpm2U12K0uqtKDaI0NYOfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1171669},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"75674f2d98146ef3b2c9964653c14ed707b6fd67","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.6.1_1767902696818_0.3210649482627761","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"classpresso","version":"1.6.2","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.6.2","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"777d38e77db7cbf9b94196809ae6ec92f6a6b5fb","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.6.2.tgz","fileCount":35,"integrity":"sha512-kbPYJvD/k78/6SplOJ1sVfk58uRkQ8YfzZIL1RGDtc/LIgV1q7syoQypuyeMDfpp0/L58o4xjHuv1j4yTdERkQ==","signatures":[{"sig":"MEUCIGq/b6B+n3o0WBUj8ePK5WEUXyMcL559bSPKziYTSoUVAiEAtdA+y0meta7TyGaY0zRP8NE9wwn9NUBffRKcxJ9lPNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1184777},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"5ea451d9cce040e12c476d29060642a8a387a407","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.6.2_1767908767299_0.27186279606478236","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"classpresso","version":"1.6.3","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.6.3","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"92e99d32266044b0afa0637a49034a4fafb50afc","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.6.3.tgz","fileCount":35,"integrity":"sha512-vw0vOW+EoVC84f/w+jMcwwhHGPYnax4DOyu1Cv/t5+Vwa/YoCjY7Puhd3wE76333MxkMX1eemKum2+oeaLiv+g==","signatures":[{"sig":"MEQCIFPtqpCyyeIYOL+ojmxCcV2Ki6vA73Gv//HmBdy+yQLRAiAdpOG9fAFAgGPRmvG46Ty3bWNDpFLDpnCfEJkDxDKm8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1201491},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"5ea451d9cce040e12c476d29060642a8a387a407","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.6.3_1767911555263_0.40099316752006553","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"classpresso","version":"1.6.4","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.6.4","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"a7beb312f7312c1b53e66f22ff99fed826464a15","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.6.4.tgz","fileCount":36,"integrity":"sha512-z3rqJ7+1+P+4+hRB2+6usQlluODyiBZrUJVGR8YkxJrNOVhrUWCH1xS10uJPz6snqXKncgX4ZA0bLCN/mjgcng==","signatures":[{"sig":"MEYCIQDa07oXvemflpijhlW+tQjCXuTgtFU8fjvf6YtNJ57uIgIhAJ2vketmtm6ST90HfhlwUgJtite/oC/X5y2UEdDGmzoR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1216404},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"4c9e2f10424d0be943cfa24a28ca1a5339eeedcc","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.6.4_1767911934114_0.25490817784843656","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"classpresso","version":"1.7.0","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.7.0","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"baaee26429bbfc6efe7b35cd08ab01bfd7ef43ff","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.7.0.tgz","fileCount":36,"integrity":"sha512-2pWEi7AznbNAWwoCZlDhhuN+h2rlioJ/In04vJ9TZXIH91K1pUhfAw17+eWBINwRYQKc0fvTQ3KspXTBYeuNDQ==","signatures":[{"sig":"MEYCIQDuetacWcmHgAUkdAoUTgwbypGZUsPMLXiZaQnSFsectgIhAN2vaCPIgAwrAP5zuCvGSJqJyR8dlMLiSrW6b+5i3nrD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1262004},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"7d6b58bc4db91ab8860ae780078770b30c5992a7","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.7.0_1767917224974_0.33450773313929716","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"classpresso","version":"1.7.1","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.7.1","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"a9f9c8e93e525f1d61bc6c1ed5618966c6a7ead6","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.7.1.tgz","fileCount":36,"integrity":"sha512-yu1x+GI62vaoe8/UyZeYI8ymVdh3FXhsF1GFIDa0zSMhCz1pIlj/QuQ8H3EH3EqfkaQh/0GVCFhKspqtkl0ALQ==","signatures":[{"sig":"MEUCID0pPhOvtJ1E3dtqG0eg7j0uy2HyDUk/sWcCOLap+YA4AiEAnbwfq0dj/hn5RYn/DWfTF9N4dORhtSCF6Er0tUYwB78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1263371},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"030f6f8ec77bb36eba7edad57626f666879844f0","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.7.1_1768248741394_0.33342661984130983","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"classpresso","version":"1.7.2","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","_id":"classpresso@1.7.2","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"homepage":"https://classpresso.com","bugs":{"url":"https://github.com/timclausendev-web/classpresso/issues"},"bin":{"classpresso":"bin/classpresso.js"},"dist":{"shasum":"d26e223714cc1268d4a38d7a2a561a6449d66e91","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.7.2.tgz","fileCount":36,"integrity":"sha512-blwlV8E8LCAxf9Lgt3gFtQguS2k7WJRfXAx3lNtnJOIyGyDg0J/lgH6ZFzVQz5ssuQT10dd0Rhm47ZLn/FoEaQ==","signatures":[{"sig":"MEYCIQCRpFVJowcWJlkxszHUlVekI2X9CGkPEqH4NV2NX8jkRwIhAJxpxR3O9GQA43qgLCYZMVjPSgMYzs4m9fs/VBXUb7u9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1268134},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"}},"gitHead":"be93d81906cb42c29aa1d8ca68ca35d8fee423c8","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","test:run":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"repository":{"url":"git+https://github.com/timclausendev-web/classpresso.git","type":"git"},"_npmVersion":"11.6.0","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","directories":{},"_nodeVersion":"24.8.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","postcss":"^8.4.49","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/classpresso_1.7.2_1768326163390_0.009341644736369448","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"classpresso","version":"1.7.3","description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.cjs"},"./scanner":{"types":"./dist/scanner.d.ts","import":"./dist/scanner.js","require":"./dist/scanner.cjs"},"./consolidator":{"types":"./dist/consolidator.d.ts","import":"./dist/consolidator.js","require":"./dist/consolidator.cjs"},"./transformer":{"types":"./dist/transformer.d.ts","import":"./dist/transformer.js","require":"./dist/transformer.cjs"}},"bin":{"classpresso":"bin/classpresso.js"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest","test:run":"vitest run","lint":"eslint src/**/*.ts","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"author":{"name":"Tim Carter"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/TheDecipherist/classpresso.git"},"homepage":"https://classpresso.com","dependencies":{"chalk":"^5.3.0","commander":"^12.1.0","glob":"^11.0.0","postcss":"^8.4.49"},"devDependencies":{"@types/node":"^22.10.2","tsup":"^8.0.1","typescript":"^5.7.2","vitest":"^1.2.0"},"engines":{"node":">=18.0.0"},"_id":"classpresso@1.7.3","gitHead":"abba6a8a417b71e8be9c3c4a971c41e2545a111c","bugs":{"url":"https://github.com/TheDecipherist/classpresso/issues"},"_nodeVersion":"24.8.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-ksaIGJbo4ARRVf199ABaIPjqwzj920cYe2QokRZFtnVrStfzKMJk8ai0sD5gfAuY9eFncZ/IS3HHWcKZBJENpA==","shasum":"9044dae6b37778fc5f2704fa88b696a0b34266de","tarball":"https://registry.npmjs.org/classpresso/-/classpresso-1.7.3.tgz","fileCount":36,"unpackedSize":1570701,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEx+IzJhoGbdfm97WILrtDL0UNpdK0qjMPr3fRqPBTHNAiEAtuptpx3+cuCEUsNU/dUX1b65JwLhc0fPpopGixrDEDA="}]},"_npmUser":{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"},"directories":{},"maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/classpresso_1.7.3_1780112782002_0.3029831711035631"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-07T19:39:20.405Z","modified":"2026-05-30T03:46:22.300Z","1.0.0":"2026-01-07T19:39:20.660Z","1.1.0":"2026-01-08T03:03:36.271Z","1.1.1":"2026-01-08T03:14:35.078Z","1.2.0":"2026-01-08T03:19:23.572Z","1.2.1":"2026-01-08T06:34:29.945Z","1.2.2":"2026-01-08T06:40:03.401Z","1.2.3":"2026-01-08T06:53:39.966Z","1.2.4":"2026-01-08T07:17:00.546Z","1.2.5":"2026-01-08T07:45:07.502Z","1.2.6":"2026-01-08T08:19:02.982Z","1.2.7":"2026-01-08T08:45:22.857Z","1.2.8":"2026-01-08T08:51:43.416Z","1.2.9":"2026-01-08T09:02:29.913Z","1.2.10":"2026-01-08T09:10:09.872Z","1.2.11":"2026-01-08T09:22:48.243Z","1.2.12":"2026-01-08T14:29:17.212Z","1.2.13":"2026-01-08T16:14:25.792Z","1.2.14":"2026-01-08T17:40:40.770Z","1.3.0":"2026-01-08T18:51:47.568Z","1.3.1":"2026-01-08T19:17:18.010Z","1.4.0":"2026-01-08T19:30:05.630Z","1.4.1":"2026-01-08T19:41:39.602Z","1.5.0":"2026-01-08T19:46:00.847Z","1.6.0":"2026-01-08T19:52:28.947Z","1.6.1":"2026-01-08T20:04:57.021Z","1.6.2":"2026-01-08T21:46:07.481Z","1.6.3":"2026-01-08T22:32:35.409Z","1.6.4":"2026-01-08T22:38:54.287Z","1.7.0":"2026-01-09T00:07:05.180Z","1.7.1":"2026-01-12T20:12:21.570Z","1.7.2":"2026-01-13T17:42:43.625Z","1.7.3":"2026-05-30T03:46:22.193Z"},"bugs":{"url":"https://github.com/TheDecipherist/classpresso/issues"},"author":{"name":"Tim Carter"},"license":"MIT","homepage":"https://classpresso.com","keywords":["css","tailwindcss","optimization","class-consolidation","nextjs","react","build-tool","postcss"],"repository":{"type":"git","url":"git+https://github.com/TheDecipherist/classpresso.git"},"description":"CSS class consolidation tool - compress multiple utility classes into single optimized classes","maintainers":[{"name":"tim_carter_clausen","email":"tim.clausen.dev@gmail.com"}],"readme":"[![classpresso.com](https://img.shields.io/badge/🌐_classpresso.com-5b21b6?style=for-the-badge)](https://classpresso.com)\n\n# Classpresso\n\n> **Make utility-first CSS render faster** — 50% faster style recalculation, 42% faster First Paint\n\nClasspresso consolidates repeated utility class patterns at build time, dramatically reducing browser rendering work. Works with Tailwind, Bootstrap, Bulma, Tachyons, UnoCSS, and any utility-first CSS framework.\n\n> **📦 Post-Build Tool — Your Development Workflow is Unchanged**\n>\n> Classpresso runs **after** your build (`npm run build`), not during development. Your source code is never modified — only the compiled output in `.next`, `dist`, `build`, etc. You'll always see your normal Tailwind/utility classes while developing and debugging.\n\n## Performance Results\n\n| Metric | Improvement |\n|--------|-------------|\n| Style Recalculation | **50% faster** |\n| First Paint | **42% faster** |\n| Memory Usage | **21% less** |\n| Runtime Overhead | **0ms** |\n\n*Benchmarks run on 1000 complex components with Playwright + Chrome DevTools Protocol*\n\n## The Problem\n\nUtility-first CSS means elements with 10-20+ classes:\n\n```html\n<button class=\"inline-flex items-center justify-center rounded-md text-sm font-medium\n               transition-colors focus-visible:outline-none focus-visible:ring-2\n               bg-primary text-white hover:bg-primary/90 h-10 px-4 py-2\">\n  Submit\n</button>\n```\n\n**Every class on every element is work for the browser:**\n- Parse the class string\n- Look up each class in stylesheets\n- Calculate specificity and resolve conflicts\n- Compute final styles\n\nWith 15 classes × 500 elements = **7,500 class lookups per page load**.\n\n## The Solution\n\nClasspresso finds repeated patterns and consolidates them:\n\n**Before:**\n```html\n<button class=\"inline-flex items-center justify-center rounded-md text-sm font-medium...\">Submit</button>\n<button class=\"inline-flex items-center justify-center rounded-md text-sm font-medium...\">Cancel</button>\n<button class=\"inline-flex items-center justify-center rounded-md text-sm font-medium...\">Delete</button>\n```\n\n**After:**\n```html\n<button class=\"cp-btn bg-primary\">Submit</button>\n<button class=\"cp-btn bg-secondary\">Cancel</button>\n<button class=\"cp-btn bg-destructive\">Delete</button>\n```\n\n**Generated CSS:**\n```css\n.cp-btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  /* ... all consolidated utilities */\n}\n```\n\n**Result:** Fewer classes = less browser work = faster rendering.\n\n## Installation\n\n```bash\nnpm install classpresso --save-dev\n```\n\n## Quick Start\n\n```bash\n# Build your project first\nnpm run build\n\n# Analyze potential savings (auto-detects build directory)\nnpx classpresso analyze\n\n# Apply optimizations\nnpx classpresso optimize\n```\n\nClasspresso **auto-detects** your build directory (`.next`, `dist`, `build`, `.output`, etc.), so you usually don't need to specify `--dir`.\n\n## Framework Compatibility\n\n### CSS Frameworks\n\n| Framework | Classes per Element | Performance Gain |\n|-----------|---------------------|------------------|\n| Tailwind CSS | 10-20+ typical | Excellent |\n| Bootstrap | 5-15 typical | Good |\n| Bulma | 5-10 typical | Good |\n| Tachyons | 15-25+ typical | Excellent |\n| UnoCSS | 10-20+ typical | Excellent |\n| Any utility CSS | Varies | Automatic |\n\n### Build Frameworks\n\nClasspresso works with **20+ frameworks** out of the box:\n\n| Framework | Build Directory | SSR Flag | Notes |\n|-----------|-----------------|----------|-------|\n| **React Meta-Frameworks** |\n| Next.js | `.next` (default) | `--ssr` for App Router | Pages Router usually doesn't need SSR flag |\n| Remix | `build` | `--ssr` recommended | |\n| Gatsby | `public` | Not needed | Static only |\n| RedwoodJS | `web/dist` | `--ssr` if using SSR | |\n| **Vue Meta-Frameworks** |\n| Nuxt 3 | `.output` | `--ssr` recommended | |\n| VitePress | `.vitepress/dist` | Not needed | Static docs |\n| Gridsome | `dist` | Not needed | Static only |\n| **Svelte** |\n| SvelteKit | `build` | `--ssr` recommended | Or `.svelte-kit` |\n| **Other Frameworks** |\n| Astro | `dist` | `--ssr` for islands | Static doesn't need SSR |\n| Solid Start | `.output` or `dist` | `--ssr` recommended | |\n| Qwik | `dist` | `--ssr` recommended | |\n| Angular | `dist/[project-name]` | Not needed | Angular 17+ uses `browser/` subdir |\n| Ember | `dist` | Not needed | |\n| Preact | `build` or `dist` | Depends on setup | |\n| **Generic Bundlers** |\n| Vite | `dist` | Depends on framework | |\n| Webpack | `dist` | Not needed | |\n| Parcel | `dist` | Not needed | |\n| Create React App | `build` | Not needed | |\n| **Static Site Generators** |\n| Eleventy (11ty) | `_site` | Not needed | |\n| Hugo | `public` | Not needed | |\n| Docusaurus | `build` | Not needed | |\n\n**Zero code changes required.** Classpresso runs on your build output. Your React, Vue, Svelte, Solid, Qwik, Astro, Angular, or vanilla HTML stays exactly the same.\n\n## How It Works\n\n```\n1. You run your normal build (next build, vite build, etc.)\n\n2. Classpresso scans the output:\n   → Finds all class attributes\n   → Identifies patterns that repeat\n   → Calculates which are worth consolidating\n\n3. Classpresso transforms:\n   → Replaces repeated patterns with short hash classes\n   → Generates CSS that maps hashes to original utilities\n   → Updates HTML/JS with new class names\n\n4. Result:\n   → Same visual appearance\n   → Dramatically fewer class lookups\n   → Faster style recalculation on every interaction\n```\n\n## CLI Commands\n\nAll commands **auto-detect** your build directory. You can override with `--dir` if needed.\n\n### `classpresso analyze`\n\nAnalyze build output and show potential optimizations without modifying files.\n\n```bash\nclasspresso analyze                        # Auto-detects build dir\nclasspresso analyze --dir dist             # Explicit build dir\nclasspresso analyze --min-occurrences 3 --min-classes 3\nclasspresso analyze --json\n```\n\n**Options:**\n- `-d, --dir <path>` - Build directory (auto-detected if not specified)\n- `--min-occurrences <n>` - Minimum times a pattern must appear (default: `2`)\n- `--min-classes <n>` - Minimum classes in a pattern (default: `2`)\n- `--ssr` - Enable SSR-safe mode for hydration compatibility\n- `--json` - Output as JSON\n- `-v, --verbose` - Verbose output\n- `--debug` - Generate detailed debug log file for troubleshooting\n- `--send-error-reports` - Send error reports to configured webhook\n- `--error-report-url <url>` - Webhook URL for error reports\n\n### `classpresso optimize`\n\nApply optimizations to the build output.\n\n```bash\nclasspresso optimize                       # Auto-detects build dir\nclasspresso optimize --dir .next           # Explicit build dir\nclasspresso optimize --dry-run\nclasspresso optimize --backup\nclasspresso optimize --purge-unused        # Also remove unused CSS\n```\n\n**Options:**\n- `-d, --dir <path>` - Build directory (auto-detected if not specified)\n- `--min-occurrences <n>` - Minimum times a pattern must appear (default: `2`)\n- `--min-classes <n>` - Minimum classes in a pattern (default: `2`)\n- `--ssr` - Enable SSR-safe mode for hydration compatibility\n- `--dry-run` - Show what would be done without making changes\n- `--backup` - Create backup files before modifying\n- `--no-manifest` - Don't generate manifest file\n- `--purge-unused` - Remove unused CSS classes after consolidation\n- `--no-rehash` - Don't re-hash content-hashed assets (see Content-Hashed Assets below)\n- `-v, --verbose` - Verbose output\n- `--debug` - Generate detailed debug log file for troubleshooting\n- `--send-error-reports` - Send error reports to configured webhook\n- `--error-report-url <url>` - Webhook URL for error reports\n\n#### Content-Hashed Assets and Immutable Caching\n\nBundlers like Vite, Rollup, and webpack name output files after a hash of their content (`index-a1b2c3d4.css`), and those files are usually served with `Cache-Control: immutable` for long-term caching. Because `optimize` rewrites files in place, the served content changes while the filename hash does not - so a returning browser keeps serving the stale cached copy after a redeploy, breaking styling.\n\nTo prevent this, `optimize` re-hashes every content-hashed asset it modifies: the file is renamed to a new content-hash filename and every reference to it (HTML, JS, CSS `url()`, bundler manifests) is rewritten. The naming is deterministic, so identical input produces identical output. This is **on by default** and only renames files whose names already look like content hashes; stable names like `styles.css` are never touched.\n\nPass `--no-rehash` to keep the original filenames (for example, if you run `optimize` before the bundler applies its hashing step).\n\n### `classpresso validate`\n\nCheck for hydration safety issues before optimizing. Catches potential React/Vue/Svelte hydration mismatches.\n\n```bash\nclasspresso validate                       # Auto-detects build dir\nclasspresso validate --dir .next\nclasspresso validate --json\n```\n\n**Example output:**\n```\n☕ Classpresso - Hydration Safety Validator\n\n📊 Hydration Safety Summary\n\n  Patterns analyzed:    22\n  Hydration-safe:       17\n  Server-only:          3\n  Client-only:          2\n  Mergeable (props):    1\n\n⚠️  Found 5 patterns that may cause hydration issues:\n\n  1. \"flex items-center gap-4\"\n     Status: SERVER-ONLY\n     Location: server/page.html:47\n     Fix: This pattern only appears in server-rendered HTML...\n\n💡 Recommendations\n\n  ⚠️  Mixed server/client patterns detected.\n     Use \"classpresso optimize --ssr\" to only consolidate safe patterns.\n```\n\n**Options:**\n- `-d, --dir <path>` - Build directory (auto-detected if not specified)\n- `--json` - Output as JSON\n- `-v, --verbose` - Verbose output\n- `--debug` - Generate detailed debug log file for troubleshooting\n\n### `classpresso unused`\n\nAnalyze CSS for unused classes. Find dead CSS that can be removed.\n\n```bash\nclasspresso unused                         # Auto-detects build dir\nclasspresso unused --dir dist\nclasspresso unused --verbose               # Show file breakdown\nclasspresso unused --json\n```\n\n**Example output:**\n```\n☕ Classpresso - Unused CSS Analyzer\n\n📊 Summary\n\n  CSS files scanned:    3\n  Total CSS rules:      1,247\n  Classes used:         892\n  Classes unused:       47\n\n💾 Size Impact\n\n  Unused CSS bytes:     12,340 (12.1 KB)\n  Gzip estimate:        3,120 (3.0 KB)\n\n🔝 Top 10 Unused Classes (by size)\n\n  1. hover\\:bg-gradient-to-r                           234 B\n  2. focus\\:ring-offset-4                              189 B\n  ...\n\n💡 Recommendations\n\n  ⚠️  Found 12.1 KB of unused CSS.\n     Run \"classpresso optimize --purge-unused\" to remove these classes.\n```\n\n**Options:**\n- `-d, --dir <path>` - Build directory (auto-detected if not specified)\n- `--limit <n>` - Number of top unused classes to show (default: `20`)\n- `--json` - Output as JSON\n- `-v, --verbose` - Verbose output (show file breakdown)\n- `--debug` - Generate detailed debug log file for troubleshooting\n\n### `classpresso report`\n\nGenerate a report from an existing manifest.\n\n```bash\nclasspresso report                         # Auto-detects build dir\nclasspresso report --dir .next\nclasspresso report --format json\nclasspresso report --format html > report.html\n```\n\n**Options:**\n- `-d, --dir <path>` - Build directory (auto-detected if not specified)\n- `--format <type>` - Output format: `text`, `json`, `html` (default: `text`)\n\n## Integration Examples\n\nWith auto-detection, most integrations are now simpler:\n\n### Next.js\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"next build && classpresso optimize --ssr\",\n    \"build:analyze\": \"next build && classpresso analyze\"\n  }\n}\n```\n\n### Vite / Create React App / Generic\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"vite build && classpresso optimize\"\n  }\n}\n```\n\nClasspresso auto-detects `dist`, `build`, or your framework's output directory.\n\n### Astro\n\nClasspresso fully supports Astro static, SSR, and hybrid builds.\n\n**Static Build (default):**\n```json\n{\n  \"scripts\": {\n    \"build\": \"astro build && classpresso optimize --dir dist\"\n  }\n}\n```\n\n**SSR/Hybrid Build (with React/Vue/Svelte islands):**\n```json\n{\n  \"scripts\": {\n    \"build\": \"astro build && classpresso optimize --dir dist --ssr\"\n  }\n}\n```\n\n**Configuration file:**\n```javascript\n// classpresso.config.js\nmodule.exports = {\n  buildDir: 'dist',\n  // Use --ssr flag if you have interactive islands with client:* directives\n  ssr: false,\n};\n```\n\nClasspresso automatically detects Astro's build structure:\n- `dist/**/*.html` - Static HTML pages\n- `dist/_astro/**/*.js` - Client-side JavaScript\n- `dist/_astro/**/*.css` - Compiled CSS\n- `dist/server/**/*.mjs` - Server code (SSR mode)\n- `dist/client/_astro/**/*` - Client assets (SSR mode)\n\n### Nuxt 3\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"nuxt build && classpresso optimize --dir .output --ssr\"\n  }\n}\n```\n\n### SvelteKit\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"vite build && classpresso optimize --dir build --ssr\"\n  }\n}\n```\n\n### Remix\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"remix build && classpresso optimize --dir build --ssr\"\n  }\n}\n```\n\n### Solid Start\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"vinxi build && classpresso optimize --dir .output --ssr\"\n  }\n}\n```\n\n### Qwik\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"qwik build && classpresso optimize --dir dist --ssr\"\n  }\n}\n```\n\n### Angular\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"ng build && classpresso optimize --dir dist/my-app\"\n  }\n}\n```\n\nFor Angular 17+, the output is in `dist/[project-name]/browser`.\n\n### Gatsby\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"gatsby build && classpresso optimize --dir public\"\n  }\n}\n```\n\n### Eleventy (11ty)\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"eleventy && classpresso optimize --dir _site\"\n  }\n}\n```\n\n### Hugo\n\n```bash\nhugo && classpresso optimize --dir public\n```\n\n### Docusaurus\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"docusaurus build && classpresso optimize --dir build\"\n  }\n}\n```\n\n### VitePress\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"vitepress build && classpresso optimize --dir .vitepress/dist\"\n  }\n}\n```\n\n## SSR-Safe Mode\n\nFor **Next.js App Router**, **Remix**, or any SSR framework with hydration, use the `--ssr` flag to prevent hydration mismatches:\n\n```bash\nclasspresso optimize --ssr\n```\n\n### Check Before You Optimize\n\nUse the `validate` command to detect potential hydration issues before optimizing:\n\n```bash\nclasspresso validate\n```\n\nThis shows which patterns are safe to consolidate and which might cause issues. If you see warnings, use `--ssr` mode.\n\n### What it does\n\nSSR-safe mode only consolidates patterns that appear in **both** server-rendered HTML and client-side JavaScript. This ensures the browser sees identical class names during hydration.\n\n**Without `--ssr`:** A pattern in HTML might get consolidated, but the JavaScript bundle still references the original classes → hydration mismatch error.\n\n**With `--ssr`:** Only patterns found in both places are consolidated → perfect hydration.\n\n### When to use\n\n**Use `--ssr` for these frameworks:**\n- **Next.js App Router** - Always recommended\n- **Nuxt 3** - Recommended\n- **SvelteKit** - Recommended\n- **Remix** - Recommended\n- **Solid Start** - Recommended\n- **Qwik** - Recommended\n- **Astro SSR/Hybrid** - If using `client:*` directives with React/Vue/Svelte islands\n- **RedwoodJS** - If using SSR features\n\n**SSR flag NOT needed:**\n- **Next.js Pages Router** - Different hydration model\n- **Astro Static** - No hydration\n- **Gatsby** - Static generation\n- **Eleventy (11ty)** - Static only\n- **Hugo** - Static only\n- **VitePress** - Static docs\n- **Docusaurus** - Static docs\n- **Angular** - Client-side rendering\n- **Ember** - Client-side rendering\n- **Static sites (plain HTML)** - No hydration\n\n### Configuration\n\n```javascript\n// classpresso.config.js\nmodule.exports = {\n  ssr: true, // Enable SSR-safe mode\n};\n```\n\n## Debug Mode\n\nWhen troubleshooting issues, enable debug mode to generate a detailed log file:\n\n```bash\nclasspresso optimize --debug\n```\n\nThis creates `classpresso-debug.log` in your build directory containing:\n- **System info**: Node version, OS, platform\n- **Config resolution**: Final merged config values\n- **Operation trace**: Every step with timestamps and timing\n- **Error details**: Full stack traces if errors occur\n\nThe log file location is displayed when the command completes. Share this file when reporting issues.\n\n## Error Reporting\n\nOpt-in to automatically send error reports to help improve classpresso:\n\n```bash\nclasspresso optimize --send-error-reports --error-report-url https://your-webhook.com/errors\n```\n\nOr configure in `classpresso.config.js`:\n\n```javascript\nmodule.exports = {\n  sendErrorReports: true,\n  errorReportUrl: 'https://your-webhook.com/errors',\n};\n```\n\n**Privacy**: Error reports only include:\n- Classpresso version, Node version, OS\n- Error message and stack trace\n- Non-sensitive config values (thresholds, flags)\n\n**Excluded**: Full file paths, project structure, class names\n\n## Configuration\n\nCreate a `classpresso.config.js` file in your project root:\n\n```javascript\nmodule.exports = {\n  // Build directory\n  buildDir: '.next',\n\n  // Consolidation thresholds\n  minOccurrences: 2,    // Pattern must appear at least 2 times\n  minClasses: 2,        // Pattern must have at least 2 classes\n  minBytesSaved: 10,    // Must save at least 10 bytes\n\n  // Hash configuration\n  hashPrefix: 'cp-',    // Prefix for consolidated classes\n  hashLength: 5,        // Hash length (5 = 1M+ unique combinations)\n\n  // Classes to exclude from consolidation (safelist)\n  exclude: {\n    prefixes: ['js-', 'data-', 'hook-', 'track-'],\n    suffixes: ['-handler', '-trigger'],\n    classes: ['no-consolidate'],\n    patterns: [/^qa-/, /^test-/, /^e2e-/],\n  },\n\n  // CSS output options\n  cssLayer: false,      // Wrap in @layer (e.g., 'utilities') or false for none\n\n  // SSR & Hydration\n  ssr: false,           // Enable SSR-safe mode for hydration compatibility\n\n  // Debug options\n  dataAttributes: false, // Add data-cp-original attribute with original classes\n  debug: false,          // Generate detailed debug log file\n\n  // Error reporting (opt-in)\n  sendErrorReports: false,           // Send error reports to webhook\n  errorReportUrl: undefined,         // Webhook URL (HTTPS required)\n\n  // Output options\n  manifest: true,       // Generate manifest.json\n  backup: false,        // Create .bak files\n};\n```\n\n## Benchmark Methodology\n\nTests run using Playwright with Chrome DevTools Protocol:\n\n```\nTest Environment\n────────────────────────────────────────────────────\nBrowser: Chromium (headless)\nCPU: Throttled 4x (simulates mobile)\nMetrics: Performance.getMetrics() API\n\nTest Pages\n────────────────────────────────────────────────────\n500 components: ~26,500 class instances\n1000 components: ~53,000 class instances\n\nEach component contains:\n- Card container (8 classes)\n- Header (12 classes)\n- Button (15 classes)\n- Badge (6 classes)\n- Input (12 classes)\n```\n\nRun benchmarks yourself:\n\n```bash\nnpm run benchmark\n```\n\n## Example Output\n\n```\n╔═══════════════════════════════════════════════════════════╗\n║                   CLASSPRESSO RESULTS                     ║\n╠═══════════════════════════════════════════════════════════╣\n║ Files Scanned:                                         45 ║\n║ Files Modified:                                        12 ║\n╠═══════════════════════════════════════════════════════════╣\n║ CLASS CONSOLIDATION                                       ║\n║ Patterns found:                                       234 ║\n║ Patterns consolidated:                                 67 ║\n║ Total occurrences replaced:                           834 ║\n╠═══════════════════════════════════════════════════════════╣\n║ BROWSER PERFORMANCE IMPACT                                ║\n║ Class lookups eliminated:                          12,510 ║\n║ Estimated style recalc improvement:                  ~50% ║\n║ Estimated First Paint improvement:                   ~42% ║\n╠═══════════════════════════════════════════════════════════╣\n║ BONUS: SIZE REDUCTION                                     ║\n║ HTML bytes saved:                                12,450 B ║\n║ CSS overhead:                                     3,200 B ║\n║ Net reduction:                                    9,250 B ║\n╚═══════════════════════════════════════════════════════════╝\n```\n\n## API Usage\n\nUse Classpresso programmatically:\n\n```typescript\nimport {\n  loadConfig,\n  scanBuildOutput,\n  detectConsolidatablePatterns,\n  createClassMappings,\n  generateConsolidatedCSS,\n  transformBuildOutput,\n} from 'classpresso';\n\nasync function optimize() {\n  const config = await loadConfig('.next');\n\n  // Scan for patterns\n  const scanResult = await scanBuildOutput(config);\n\n  // Detect consolidation candidates\n  const candidates = detectConsolidatablePatterns(\n    scanResult.occurrences,\n    config\n  );\n\n  // Create mappings\n  const mappings = createClassMappings(candidates);\n\n  // Generate CSS\n  const css = await generateConsolidatedCSS(mappings, config.buildDir, config.cssLayer);\n\n  // Transform build\n  await transformBuildOutput(mappings, config);\n}\n```\n\n## FAQ\n\n**Does this affect my development workflow?**\n\nNo. Classpresso is a **post-build** tool that only runs after `npm run build`. During development (`npm run dev`), you see your normal Tailwind/utility classes exactly as you wrote them — perfect for debugging and toggling classes in DevTools. Classpresso only transforms the compiled production output.\n\n**Why does this make sites faster?**\n\nEvery CSS class is work for the browser. With utility-first CSS, a button might have 15+ classes. Classpresso consolidates repeated patterns so there's less to parse, match, and calculate.\n\n**What about bundle size?**\n\nThat's a bonus! HTML typically drops 50-60%. But the real win is browser performance — style recalculation happens on every page load, every DOM change, every interaction. 50% faster there is huge.\n\n**Do I need to change my code?**\n\nNo. Classpresso runs on your build output, not source code. Your components stay exactly the same.\n\n**Is there runtime overhead?**\n\nZero. Classpresso is build-time only. No JavaScript added, no runtime processing.\n\n## License\n\nMIT\n\n## Links\n\n- Website: [https://classpresso.com](https://classpresso.com?utm_source=npm&utm_medium=referral&utm_campaign=npm-readme)\n- GitHub: [https://github.com/TheDecipherist/classpresso](https://github.com/TheDecipherist/classpresso)\n- npm: [https://www.npmjs.com/package/classpresso](https://www.npmjs.com/package/classpresso)\n","readmeFilename":"README.md"}