{"_id":"tailwind-resolver","_rev":"21-840e9020ce1313f9d4ca9a4580759e6b","name":"tailwind-resolver","dist-tags":{"latest":"0.3.8"},"versions":{"0.1.5":{"name":"tailwind-resolver","version":"0.1.5","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.1.5","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"b3f14cd6f633a8752466eb250495da8742716bc1","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.1.5.tgz","fileCount":26,"integrity":"sha512-L7goOh2Q5b0N7XOHKksiwpoD8dzIg+N++oYzDbaek88lkoLdmIb4w8r09MVWFussGON0asCoPdYUaMiQESS0LA==","signatures":[{"sig":"MEUCIEr+IqnhKwijXjG6oQkse2VqMbvQcKcq6/i0k2pdBJjPAiEA+ZfAhC2of20cxpn/jiwICYEb3Tel/QMbCU19QYIJNfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170904},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"}},"gitHead":"536202cd7984d6379e3fc5bd96a118287477ef15","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","format:check":"prettier --check .","prepublishOnly":"bun run lint && bun run test && bun run build"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.1.5_1760759811038_0.7558036988312933","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"tailwind-resolver","version":"0.1.6","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.1.6","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"e56b910e13af7811b3c72e439532c95dea2b3499","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.1.6.tgz","fileCount":26,"integrity":"sha512-TZtdUVgpZ+HMnHHTDpBBVY8qKr7R78t4VR022g3SV0DD9pG/CLFkslscYGyvArih4n3KzX8bY0zgx2Xp94SvGw==","signatures":[{"sig":"MEQCICBM54HzZRwqYkWTI5x8ojqEC9uvrVODHRie5vmbv/qMAiAXZubDBwXFyAya32gjzSVstTS81iI585BTW91rgGWWgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":201647},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"}},"gitHead":"118492535fa06131ab94b17ef0c8c689da216ec0","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","format:check":"prettier --check .","prepublishOnly":"bun run lint && bun run test && bun run build"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.1.6_1760780231933_0.7744690795493829","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"tailwind-resolver","version":"0.1.7","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.1.7","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"92bce838b69c4402ada7e87e8e2a736527b09ed8","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.1.7.tgz","fileCount":28,"integrity":"sha512-CxuekKcWu7rhPdsqYEyeoNEyTwxrQXYUaDhIxo3TE9vfpBrAzx+E5uFFr85hHnIhEBSVqzC6BRhCH82xvd+J5w==","signatures":[{"sig":"MEUCIQDkCrkGlmZHhsEHar9G1nqAEMWdutB0NYjQQr4YTFqtiwIgJ+qE65SEDu5PK0U4oqh+hu4vfLzlii/B21i4oWMfztM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":233884},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"}},"gitHead":"abcb46c7d1db51d39cc56f1f80c9420da89651b1","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","format:check":"prettier --check .","prepublishOnly":"bun run lint && bun run test && bun run build"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.1.7_1760838489419_0.4527876820087","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"tailwind-resolver","version":"0.1.8","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.1.8","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"40ff666f58c9105a1fdc6aa249cff5c9b04dcfe8","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.1.8.tgz","fileCount":31,"integrity":"sha512-5EQk6wyD7V7GUK7LP3BwhyEfXkN8CxAB1LKqaz4krHCONohFz4vHVWEZi00lCp/3MLxuKL4pI83GTZQmI7ReSQ==","signatures":[{"sig":"MEYCIQCk3EGhFOxqD+cWHrnKM5LbuKq3KnB0KMEntsx7bmSNHgIhAKMaYqYkKACLAjBw/E1aCEwHTTCeIO249vJoyd8TXpPh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":301204},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"}},"gitHead":"6f24dc5b3bc7fd401bfc2f196fee25f9a960b865","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","format:check":"prettier --check .","prepublishOnly":"bun run lint && bun run test && bun run build"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.1.8_1760845594025_0.507984154252549","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"tailwind-resolver","version":"0.1.9","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.1.9","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"ff37afe760b66ab491963541c9bdc5aa5807f411","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.1.9.tgz","fileCount":34,"integrity":"sha512-OPIZZCGxwj4g8t2LbceVcVVrUkTOoYnycv7bIyvDTGylqEOVcuWUuLRuQS97dzikstORZC1GyqAcK4f4D9NWmg==","signatures":[{"sig":"MEUCIA0WeWyyR5ceOiG5wAin88DHGnqAcb9HF1Rf4VUuiQvFAiEA7nhskZ7iuwSJ/PD45eQHQr6biuaaOjNokma0nFhSjP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":302845},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"}},"gitHead":"be3f36d19749664f7f370f60ec3b4a497c9b1a05","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test __tests__/v4/e2e","test:unit":"bun test __tests__/v4/unit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun run lint && bun run test && bun run build","test:integration":"bun test __tests__/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.1.9_1760863164891_0.5353150690280628","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"tailwind-resolver","version":"0.2.0","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.2.0","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"0e5a02b4bea09f40659d11673ce609eaf09da15f","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.2.0.tgz","fileCount":34,"integrity":"sha512-dMfFpKMiVsFEPeRUJbnRU+MLiOmwUr4NZLEvGyJMtn+Ro2fvk/2UmMfHNlI3njI4aCBLnD2bACSEx1T0lguLkg==","signatures":[{"sig":"MEYCIQCPTC1apwj8Ccp4DvJBTucnmA2T1SAkrxEptTjwyvEM3AIhAJaW4/luG30KXPI/03Vpswix1HpInbKPRel2VJ2QXZTM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":304461},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"}},"gitHead":"2099537beb8e3116f498e13efd3416ad78ecc45d","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test __tests__/v4/e2e","test:unit":"bun test __tests__/v4/unit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun run lint && bun run test && bun run build","test:integration":"bun test __tests__/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.2.0_1760865645220_0.6677139452275238","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"tailwind-resolver","version":"0.2.1","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.2.1","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"f6f685afb56e6397d0f89de12812d7f20169996b","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.2.1.tgz","fileCount":37,"integrity":"sha512-5W/vVnOJtgA089KSf6Fj6bqfyO9g6oOPIV69P0tsK3Bx/Hu89W1clf8T6/StiZQovwbAgxaqM1ATru4iHdpG1w==","signatures":[{"sig":"MEQCICXydaqWyL/gfNcfFsIdz0pId9cKDaqDtvzrpyn7KlinAiB09E73itWHLmnTSw2nIzFxIrVAUeny4z3EU91ursFiSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":315295},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing-helper.d.ts","import":"./dist/v4/shared/spacing-helper.mjs","require":"./dist/v4/shared/spacing-helper.js"}},"gitHead":"526b23583d0b6347f2385566e9c75800333e77b3","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test __tests__/v4/e2e","test:unit":"bun test __tests__/v4/unit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun run lint && bun run test && bun run build","test:integration":"bun test __tests__/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.2.1_1760878501484_0.6446582064189039","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"tailwind-resolver","version":"0.2.2","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.2.2","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"5f0f04f373f4c9b98df26bf6a31730450b568931","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.2.2.tgz","fileCount":39,"integrity":"sha512-8Dxg1Cy6/9o3iiSTj5LzfhJDHZjMdQj0B82+gWWfIzOCNP0m8IgtymbCRTFzee7W9DSa5PmzHetR8rDcuNsKfA==","signatures":[{"sig":"MEYCIQDmCjQzDDM5upXMGnLZ8qPzZmQcQ2UWnk3LQllcpskBhwIhAKgCnnOgXTAoneA8RMOdotKNxyrFfHIuaaDHwP4OyBhz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346999},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing-helper.d.ts","import":"./dist/v4/shared/spacing-helper.mjs","require":"./dist/v4/shared/spacing-helper.js"}},"gitHead":"d6f5a0fda37beeba9fc63a055cda9d6cf2a075d1","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test __tests__/v4/e2e","test:unit":"bun test __tests__/v4/unit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun run lint && bun run test && bun run build","test:integration":"bun test __tests__/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.2.2_1760918712991_0.9871149999162856","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"tailwind-resolver","version":"0.2.3","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.2.3","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"3a5b405e18f0436d0ab14f13b934c468b5200d98","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.2.3.tgz","fileCount":39,"integrity":"sha512-Ieng0FlQbbTJoLIHzsHaEUzstRBvARNuSJfFGhuwmfBz1IgdmyT4pJ/5nsTYu9fknuYmzA6aFlTbmD/khjSPWA==","signatures":[{"sig":"MEYCIQC0JsMPir5y2a2Gl46m5eHYWRH1vdt0ELcqqwDVH50IAgIhANIsQIdAv50r/CsdHhVCMYIFJ7Qhg0nRu7bMnIT7zD0p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":355775},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing-helper.d.ts","import":"./dist/v4/shared/spacing-helper.mjs","require":"./dist/v4/shared/spacing-helper.js"}},"gitHead":"dc2ce3c4f200ce0a7ecc582dcbf287b313ea4ce5","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test __tests__/v4/e2e","test:unit":"bun test __tests__/v4/unit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun run lint && bun run test && bun run build","test:integration":"bun test __tests__/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.2.3_1760922679705_0.06084458181799102","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"tailwind-resolver","version":"0.2.4","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.2.4","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"e2953ec90283e4c2f5c9249381c0aedbbc4397e2","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.2.4.tgz","fileCount":40,"integrity":"sha512-9CeLd/q6qeWrbKH2OPhtgaLBRJYSBqKJGJ3zvo1o4S6MYzNKND74KYYNRgwTniX8CV6KtaqjxeX1ry6tkxbqVw==","signatures":[{"sig":"MEYCIQDfuzP1mvsDPHmUDBCt+j4avXAn4G8ZjSh84gq/MntfGgIhAL97LcMpMChQHgFtpg+MhIki2kKMND6opWvbaQSe4fPh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":401890},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing-helper.d.ts","import":"./dist/v4/shared/spacing-helper.mjs","require":"./dist/v4/shared/spacing-helper.js"}},"gitHead":"9f841dccc93f352400545a5f6b9393c0c939eaf1","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test __tests__/v4/e2e","test:unit":"bun test __tests__/v4/unit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun run lint && bun run test && bun run build","test:integration":"bun test __tests__/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.2.4_1760928992075_0.23454346450279395","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"tailwind-resolver","version":"0.2.5","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.2.5","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"1c16ae80363de522eedbebbdce98bdd7aa58b4b1","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.2.5.tgz","fileCount":41,"integrity":"sha512-Q2EHbGyqr6VBkUCB95r7l+jPBxol1RjJjTvVPlPR6+tDN1h99JLZpLn6j3tsapsVHuEnc0Ds1Zvp+Pc4t7t5sA==","signatures":[{"sig":"MEUCIQCv/ellUf4idNvSJgqw5HKnu8roTnHzJJElUQWqky8N8gIgKgKGSnMKZQRsxba6NzQt8rBGUNnI5ZHSja+e+Wul+mM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":453339},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing-helper.d.ts","import":"./dist/v4/shared/spacing-helper.mjs","require":"./dist/v4/shared/spacing-helper.js"}},"gitHead":"e855aa76f07bf98bee4ab0c7c3af4d37124d2395","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test __tests__/v4/e2e","test:unit":"bun test __tests__/v4/unit","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test __tests__/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.2.5_1761091847890_0.6837313597188972","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"tailwind-resolver","version":"0.2.6","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.2.6","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"1102ceb26414d87f053a87596486eaf67103b1ca","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.2.6.tgz","fileCount":41,"integrity":"sha512-32TGmAlpyVZCLRMH3I5F3b4fUfquDrkkrUitwbiBL8TYCQgqhUDTTkCV4mPyBCRp5lG+nMfU4Olg4HhSVb1V6g==","signatures":[{"sig":"MEYCIQCT6sLYuA4OPxDOJ6JjEShr6CbCwHP4FBteYtZ9kUcUMwIhAJgXA0jgUWw73vBGNYTHahXOXlbzzMmLTW2PAf3hlbxV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":464132},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing-helper.d.ts","import":"./dist/v4/shared/spacing-helper.mjs","require":"./dist/v4/shared/spacing-helper.js"}},"gitHead":"22c273ca3052927b52f19af023ca47409c3599c7","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test __tests__/v4/e2e","test:unit":"bun test __tests__/v4/unit","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test __tests__/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.2.6_1761098241975_0.21154140500986318","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"tailwind-resolver","version":"0.3.0","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.3.0","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"f1ada5b4a4bafe6336abdc971e51c843cabc50e6","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.3.0.tgz","fileCount":50,"integrity":"sha512-HbLjO1wCfMY6huAoK05LfuDFQq6xyHWCWAedBMChm9xnn3bYWlVwVdctuii9DkiWmvMmL+xx1o94ltqUGA+02Q==","signatures":[{"sig":"MEUCIQDt1IFZSmsFsTC2G3ojaIzW5WsFCf0FDnH1c49nbRbnRQIgBIpsV6hBsIAqA6W9pzzTpa9Kg9roV3KC8DU63O6j9MA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":515759},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"}},"gitHead":"0ad3fdfedf613791aee89c0f4a02bbb9190564f2","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test test/v4/e2e","test:unit":"bun test test/v4","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test test/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.3.0_1761272233419_0.8514343304220371","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"tailwind-resolver","version":"0.3.1","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.3.1","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"28850696bf199f2cc78f78c8e7e7f2499389fe70","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.3.1.tgz","fileCount":50,"integrity":"sha512-g+6teHzTAWSK3eUdtCUz+TPKIp3JzgLrfjcHacWB7Dg2sRMwAW2YW/Sx5IVOLECUbDOAf4Oxu6+OU6O0tlbB0g==","signatures":[{"sig":"MEYCIQCnA2FrVfr4i3eqvQexPackRy1PIXamtNw6vj3rAGsQdQIhAKOI6uH+avX8hmMxESaJ+V/ASz6inWeUpbY6d8/Xzsnc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":515809},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"},"./v4/shared/spacing_helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"}},"gitHead":"d07745447a284e35b4ecdc7641e8f3d9bfe76766","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test test/v4/e2e","test:unit":"bun test test/v4","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test test/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.3.1_1761573616261_0.47370740079955076","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"tailwind-resolver","version":"0.3.2","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.3.2","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"2a5883df4171ca23558a1b186b396f51d7edaee1","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.3.2.tgz","fileCount":50,"integrity":"sha512-YvTxEPCiaLk1aWBLIHGpZyRkZjKNrI9hJboBU9ay3ELIv59RnnVmPh1clet1UHlqI9g7mpfNOhUJ1NTOyEX7eA==","signatures":[{"sig":"MEUCIQCXOHDd32hB3NHVTKhOZWG6KVnOdu1yQpyRq4kwhzZUEQIgd7HaQ5NkumKfuefbn6NwjV3Egx2InFEfu9fHeGju+M4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":516814},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"},"./v4/shared/spacing_helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"}},"gitHead":"691ec4d954f9ab7b55b92772c88c9140b5cb9499","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test test/v4/e2e","test:unit":"bun test test/v4","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test test/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.3.2_1761662783278_0.6571608125230759","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"tailwind-resolver","version":"0.3.3","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.3.3","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"2d10e1790b1fa62ebb08eedbafc527c1cbda33f9","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.3.3.tgz","fileCount":50,"integrity":"sha512-YqGWvhexJ9BBlUTwjGXm+KdXZ3rAVds9AKkws6TIWoUmciiMZTuPqrKALuml9jSZSE4LKP/8TO7JL91QCs09XQ==","signatures":[{"sig":"MEUCIGa26EWSwiWrx3Z+uI9DsgLzlYAg5okxd3TD5shTRj1iAiEAllJQXFV1ui17CVnQinhhGZsyB1fgGPGeXG1984WwLXU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517518},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"},"./v4/shared/spacing_helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"}},"gitHead":"90297cd728acd98ec7cfacac2673d06c05d66def","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test test/v4/e2e","test:unit":"bun test test/v4","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test test/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=7.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.3.3_1761663794008_0.5307875161798226","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"tailwind-resolver","version":"0.3.4","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.3.4","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"0331b9dbc8f6c99b3b9ab7750ffe7c4ab7963932","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.3.4.tgz","fileCount":50,"integrity":"sha512-P7KhJfsbRfLKqwl3RlWMJqyGjE2JjcRolduwJQqp5aFQ5C6yiDe2kPh7uU4fe4peQgFEorMrlQh39xD+2UV4pQ==","signatures":[{"sig":"MEUCIHukGwgybV2mPGSH9RaIoCqxhofb/+F5+EAXpq/Ql115AiEAyIOdfh4U3b4TqDBN2YlfueP1LM1Xw1s2jlFCs2CJMnw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517518},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":"^21.2.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"},"./v4/shared/spacing_helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"}},"gitHead":"8263c0e5f293432b1f9be6fc663e67d15d235fd2","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test test/v4/e2e","test:unit":"bun test test/v4","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test test/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=5.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.3.4_1763822779941_0.7082065008517029","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"tailwind-resolver","version":"0.3.5","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.3.5","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"fc002c0146777e68b4c41b75c454244264a139eb","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.3.5.tgz","fileCount":51,"integrity":"sha512-ZEA3TlCobh78eiyt/G8bsNapArMWu0r3/Myu87wDfNPOKxE8agxxb/QXyktzyS109njUK0/IWcjZKcmqe6OkAQ==","signatures":[{"sig":"MEQCIDdIJu0yiR75LOTxe/AEhV/hkGoic65pjHY2gbQ933FgAiAmz2dJmrnAvVpidh8exg9ldIuiWQtbzz8VoN+gy5Foeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":531852},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=21.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"},"./v4/shared/spacing_helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"}},"gitHead":"98449d32b8fd4416b1526b5464c77aef4cb385c8","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test test/v4/e2e","test:unit":"bun test test/v4","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test test/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=5.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.3.5_1766849329111_0.1090184875277802","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"tailwind-resolver","version":"0.3.6","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.3.6","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"075640b1bf291c8c6f668aa0afb6a7552e602080","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.3.6.tgz","fileCount":51,"integrity":"sha512-Fag6OddsSrUBqAGLUNJ/d5mZCOxL6eSYvhvGMscUBPNX0vEYQrBN8b2ywAWwe2mF1mEruNAWOa/X8xLNLMs60g==","signatures":[{"sig":"MEUCIAo3XFvvCxKOiLH+St25i718v9JnZjejj+bGXBWhGKkGAiEAs/ck8XlMtjh30HIwtTw3awjiXm+PKMwq50YVufv/l+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":431630},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=21.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"},"./v4/shared/spacing_helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"}},"gitHead":"73aa4475d03e6e867dba80dca0d70ef3b98ecbc9","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test test/v4/e2e","test:unit":"bun test test/v4","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test test/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.1","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=5.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.3.6_1773770615141_0.4423668061660362","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"tailwind-resolver","version":"0.3.7","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","_id":"tailwind-resolver@0.3.7","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"homepage":"https://github.com/0xstern/tailwind-resolver#readme","bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"dist":{"shasum":"237e51e370c39a44f629da254cdf7098fa4c2e41","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.3.7.tgz","fileCount":51,"integrity":"sha512-O2Uzb0FUYlsu90iOHsmfCtBVhv87dVdkc7iZ+Yi55npJ+ZSoEnAb2NHijQuzsmXDOPD8xFdzTN4nb+Snkf2/jA==","signatures":[{"sig":"MEQCIHJjLo8Xa2vYXnfv2XUCMjab9ObPbX44wcbyLZGMRAWHAiACa86x3KyuH7TgI+f2fsS3jiya4VfOAxnoTsVy/h61Sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":433962},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=21.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"},"./v4/shared/spacing_helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"}},"gitHead":"f23dc43354f9ea26c010bc4e8c60d16472a2a281","scripts":{"lint":"eslint .","test":"bun test","build":"bun run build.ts","format":"prettier --write .","lint:fix":"eslint . --fix","test:e2e":"bun test test/v4/e2e","test:unit":"bun test test/v4","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"prettier --check .","test:coverage":"bun test --coverage","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build","test:integration":"bun test test/v4/integration"},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"repository":{"url":"git+https://github.com/0xstern/tailwind-resolver.git","type":"git"},"_npmVersion":"10.8.2","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.1","dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.10","eslint":"^9.0.0","mitata":"^1.0.34","globals":"^16.4.0","prettier":"^3.0.0","@eslint/js":"^9.36.0","@types/bun":"latest","typescript":"^5.0.0","@types/node":"^24.8.0","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.45.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.5","@ianvs/prettier-plugin-sort-imports":"^4.5.1"},"peerDependencies":{"vite":">=5.0.0","typescript":"^5"},"peerDependenciesMeta":{"vite":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tailwind-resolver_0.3.7_1773772670537_0.6012855211062833","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"tailwind-resolver","version":"0.3.8","description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/0xstern/tailwind-resolver.git"},"bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"homepage":"https://github.com/0xstern/tailwind-resolver#readme","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","bin":{"tailwind-resolver":"dist/v4/cli.cjs"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./v4":{"types":"./dist/v4/index.d.ts","import":"./dist/v4/index.mjs","require":"./dist/v4/index.js"},"./v4/vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./vite":{"types":"./dist/v4/vite-plugin.d.ts","import":"./dist/v4/vite-plugin.mjs","require":"./dist/v4/vite-plugin.js"},"./v4/shared/spacing-helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"},"./v4/shared/spacing_helper":{"types":"./dist/v4/shared/spacing_helper.d.ts","import":"./dist/v4/shared/spacing_helper.mjs","require":"./dist/v4/shared/spacing_helper.js"}},"type":"module","sideEffects":false,"devDependencies":{"@eslint/js":"^9.36.0","@ianvs/prettier-plugin-sort-imports":"^4.5.1","@types/bun":"latest","@types/node":"^24.8.0","eslint":"^9.0.0","eslint-config-prettier":"^10.1.5","eslint-plugin-import":"^2.32.0","eslint-plugin-jsdoc":"^61.1.4","eslint-plugin-n":"^17.23.1","globals":"^16.4.0","mitata":"^1.0.34","prettier":"^3.0.0","typescript":"^5.0.0","typescript-eslint":"^8.45.0","vite":"^7.1.10"},"peerDependencies":{"typescript":"^5","vite":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"vite":{"optional":true}},"scripts":{"build":"bun run build.ts","test":"bun test","test:unit":"bun test test/v4","test:integration":"bun test test/v4/integration","test:e2e":"bun test test/v4/e2e","test:watch":"bun test --watch","test:coverage":"bun test --coverage","lint":"eslint .","lint:fix":"eslint . --fix","format":"prettier --write .","format:check":"prettier --check .","typecheck":"tsc --noEmit","prepublishOnly":"bun format && bun lint && bun typecheck && bun test && bun run build"},"engines":{"node":">=21.0.0"},"dependencies":{"postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-value-parser":"^4.2.0"},"_id":"tailwind-resolver@0.3.8","gitHead":"bc2f2fec4d9ced04cce29a4c54ea648d59b917b0","_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-gSoYKMJVZODF9mHTGnQhUmBsqDWNY14R4eOUdjKZLLK+yTDnDB5Ys1i+9lyIy9l+vZssFlBQsZSZApZyaxXo0w==","shasum":"06d71ada024c22e9469663761d586e1ba7a0c02f","tarball":"https://registry.npmjs.org/tailwind-resolver/-/tailwind-resolver-0.3.8.tgz","fileCount":51,"unpackedSize":537517,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tailwind-resolver@0.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFZaaxFMdbfme9t+wRroRmRv7iBMKHGp2sBzoiqixWUiAiAe93OCG/1WmYmPOv7yCpBZWm18Yl5SI7P6WIDAIfyEfQ=="}]},"_npmUser":{"name":"mrstern","email":"mrsirstern@gmail.com"},"directories":{},"maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tailwind-resolver_0.3.8_1773774761001_0.08678422776130201"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-18T03:56:50.972Z","modified":"2026-03-17T19:12:41.535Z","0.1.5":"2025-10-18T03:56:51.213Z","0.1.6":"2025-10-18T09:37:12.159Z","0.1.7":"2025-10-19T01:48:09.613Z","0.1.8":"2025-10-19T03:46:34.202Z","0.1.9":"2025-10-19T08:39:25.081Z","0.2.0":"2025-10-19T09:20:45.425Z","0.2.1":"2025-10-19T12:55:01.683Z","0.2.2":"2025-10-20T00:05:13.182Z","0.2.3":"2025-10-20T01:11:19.926Z","0.2.4":"2025-10-20T02:56:32.274Z","0.2.5":"2025-10-22T00:10:48.078Z","0.2.6":"2025-10-22T01:57:22.174Z","0.3.0":"2025-10-24T02:17:13.625Z","0.3.1":"2025-10-27T14:00:16.486Z","0.3.2":"2025-10-28T14:46:23.499Z","0.3.3":"2025-10-28T15:03:14.191Z","0.3.4":"2025-11-22T14:46:20.133Z","0.3.5":"2025-12-27T15:28:49.254Z","0.3.6":"2026-03-17T18:03:35.302Z","0.3.7":"2026-03-17T18:37:50.682Z","0.3.8":"2026-03-17T19:12:41.195Z"},"bugs":{"url":"https://github.com/0xstern/tailwind-resolver/issues"},"author":{"name":"0xstern","email":"mrsirstern@gmail.com"},"license":"MIT","homepage":"https://github.com/0xstern/tailwind-resolver#readme","keywords":["tailwind","tailwindcss","tailwind-v4","tailwind-v5","theme","css-variables","postcss","parser","resolver","chart","canvas","typescript","theme-resolution"],"repository":{"type":"git","url":"git+https://github.com/0xstern/tailwind-resolver.git"},"description":"Resolve Tailwind theme variables into JavaScript objects. Supports Tailwind v4 with future-proof versioning.","maintainers":[{"name":"mrstern","email":"mrsirstern@gmail.com"}],"readme":"# Tailwind Theme Resolver\n\n**TypeScript type generation and runtime resolution for Tailwind CSS v4 theme variables.**\n\nTransform your Tailwind v4 CSS variables into fully-typed TypeScript interfaces and runtime objects with automatic conflict detection, intelligent nesting, and comprehensive diagnostics.\n\n<p>\n    <a href=\"https://github.com/0xstern/tailwind-resolver/actions\"><img src=\"https://img.shields.io/github/actions/workflow/status/0xstern/tailwind-resolver/ci.yml?branch=main\" alt=\"Build Status\"></a>\n    <a href=\"https://github.com/0xstern/tailwind-resolver/releases\"><img src=\"https://img.shields.io/npm/v/tailwind-resolver.svg\" alt=\"Latest Release\"></a>\n    <a href=\"https://github.com/0xstern/tailwind-resolver/blob/master/LICENSE\"><img src=\"https://img.shields.io/npm/l/tailwind-resolver.svg\" alt=\"License\"></a>\n</p>\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Core Concepts](#core-concepts)\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Vite Plugin](#vite-plugin-%28build-time-generation%29)\n  - [Runtime API](#runtime-api-%28dynamic-resolution%29)\n  - [CLI](#cli)\n- [Configuration](#configuration)\n  - [Tailwind Defaults](#tailwind-defaults)\n  - [Nesting Configuration](#nesting-configuration)\n  - [Theme Overrides](#theme-overrides)\n  - [Report Generation](#report-generation)\n- [Advanced Features](#advanced-features)\n  - [CSS Conflict Detection](#css-conflict-detection)\n  - [Unresolved Variable Detection](#unresolved-variable-detection)\n  - [Dynamic Spacing Helper](#dynamic-spacing-helper)\n  - [Type Safety](#type-safety)\n- [Examples](#examples)\n- [Debugging](#debugging)\n- [Requirements](#requirements)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Quick Start\n\n**1. Install:**\n\n```bash\nnpm install -D tailwind-resolver\n```\n\n**2. Configure Vite plugin:**\n\n```typescript\n// vite.config.ts\n\nimport tailwindcss from '@tailwindcss/vite';\nimport { tailwindResolver } from 'tailwind-resolver/vite';\nimport { defineConfig } from 'vite';\n\nexport default defineConfig({\n  plugins: [\n    tailwindcss(),\n    tailwindResolver({\n      input: 'src/styles.css', // Your Tailwind CSS file\n    }),\n  ],\n});\n```\n\n**3. Use the generated theme:**\n\n```typescript\nimport { tailwind } from './generated/tailwindcss';\n\n// Fully typed with autocomplete\nconst primaryColor = tailwind.variants.default.colors.primary[500];\nconst darkBackground = tailwind.variants.dark.colors.background;\n```\n\nThat's it! The plugin automatically generates TypeScript types and runtime objects from your Tailwind CSS variables.\n\n## Core Concepts\n\n### What It Does\n\nTailwind Theme Resolver parses your Tailwind CSS v4 files and generates:\n\n- **TypeScript Types** - Full type safety with autocomplete for all theme properties\n- **Runtime Objects** - JavaScript objects mirroring your CSS variables for use in Canvas, Chart.js, etc.\n- **Diagnostic Reports** - Automatic detection of CSS conflicts and unresolved variables\n- **Theme Variants** - Support for dark mode, custom themes, and CSS selector-based variants\n\n### Theme Structure\n\nAll Tailwind CSS v4 namespaces are supported:\n\n```typescript\n{\n  colors: {},           // --color-*\n  spacing: {},          // --spacing-* (with dynamic calc helper)\n  fonts: {},            // --font-*\n  fontSize: {},         // --text-*\n  fontWeight: {},       // --font-weight-*\n  tracking: {},         // --tracking-*\n  leading: {},          // --leading-*\n  breakpoints: {},      // --breakpoint-*\n  containers: {},       // --container-*\n  radius: {},           // --radius-*\n  shadows: {},          // --shadow-*\n  insetShadows: {},     // --inset-shadow-*\n  dropShadows: {},      // --drop-shadow-*\n  textShadows: {},      // --text-shadow-*\n  blur: {},             // --blur-*\n  perspective: {},      // --perspective-*\n  aspect: {},           // --aspect-*\n  ease: {},             // --ease-*\n  animations: {},       // --animate-*\n  defaults: {},         // --default-*\n  keyframes: {}         // @keyframes\n}\n```\n\n### Generated Files\n\nWith default configuration, the plugin generates:\n\n```\nsrc/generated/tailwindcss/\n├── types.ts           # TypeScript interfaces\n├── theme.ts           # Runtime theme objects\n├── index.ts           # Convenient re-exports\n├── conflicts.md       # CSS conflict report (if conflicts detected)\n├── conflicts.json     # Machine-readable conflict data\n├── unresolved.md      # Unresolved variable report (if any detected)\n└── unresolved.json    # Machine-readable unresolved data\n```\n\n## Installation\n\n```bash\n# Bun\nbun add -D tailwind-resolver\n\n# pnpm\npnpm add -D tailwind-resolver\n\n# Yarn\nyarn add -D tailwind-resolver\n\n# npm\nnpm install -D tailwind-resolver\n```\n\n## Usage\n\n### Vite Plugin (Build-Time Generation)\n\nRecommended for most projects. Generates types once during build, with hot-reload during development.\n\n**Basic Configuration:**\n\n```typescript\nimport tailwindcss from '@tailwindcss/vite';\nimport { tailwindResolver } from 'tailwind-resolver/vite';\nimport { defineConfig } from 'vite';\n\nexport default defineConfig({\n  plugins: [\n    tailwindcss(),\n    tailwindResolver({\n      input: 'src/styles.css',\n    }),\n  ],\n});\n```\n\n**Full Configuration:**\n\n```typescript\ntailwindResolver({\n  // Required: Path to CSS file (relative to Vite project root)\n  input: 'src/styles.css',\n\n  // Optional: Output directory (default: auto-detected)\n  outputDir: 'src/generated/tailwindcss',\n\n  // Optional: Resolve @import statements (default: true)\n  resolveImports: true,\n\n  // Optional: Runtime generation control (default: true)\n  generateRuntime: {\n    variants: true, // Include theme variants\n    selectors: true, // Include CSS selectors\n    files: false, // Exclude file list (production)\n    variables: false, // Exclude raw variables (production)\n    reports: {\n      conflicts: true, // Generate conflict reports\n      unresolved: true, // Generate unresolved variable reports\n    },\n  },\n\n  // Optional: Control Tailwind defaults (default: true)\n  includeDefaults: true,\n\n  // Optional: Nesting configuration\n  nesting: {\n    colors: { maxDepth: 2 },\n    default: { maxDepth: 3 },\n  },\n\n  // Optional: Theme overrides\n  overrides: {\n    '*': { 'fonts.sans': 'Inter, sans-serif' },\n    dark: { 'colors.background': '#000000' },\n  },\n\n  // Optional: Debug logging (default: false)\n  debug: false,\n});\n```\n\n**Usage in Code:**\n\n```typescript\nimport { dark, defaultTheme, tailwind } from './generated/tailwindcss';\n\n// Use the master tailwind object\nconst primary = tailwind.variants.default.colors.primary[500];\nconst darkBg = tailwind.variants.dark.colors.background;\n\n// Or use individual variant exports\nconst primary2 = defaultTheme.colors.primary[500];\nconst darkBg2 = dark.colors.background;\n```\n\n### Runtime API (Dynamic Resolution)\n\nFor dynamic scenarios like CLI tools, server-side rendering, or runtime theme switching.\n\n**Type-Safe Usage (Recommended):**\n\n```typescript\nimport type { Tailwind } from './generated/tailwindcss';\n\nimport { resolveTheme } from 'tailwind-resolver';\n\nconst result = await resolveTheme<Tailwind>({\n  input: './src/styles.css',\n});\n\n// Fully typed with autocomplete\nresult.variants.default.colors.primary[500];\nresult.variants.dark.colors.background;\nresult.selectors.dark; // '[data-theme=\"dark\"]'\n```\n\n**Note:** Generate types using the [Vite plugin](#vite-plugin-build-time-generation) or [CLI](#cli) before using the runtime API for type safety.\n\n**Basic Usage:**\n\n```typescript\nimport { resolveTheme } from 'tailwind-resolver';\n\nconst result = await resolveTheme({\n  input: './src/styles.css',\n});\n\nconsole.log(result.variants.default.colors.primary[500]);\nconsole.log(result.variants.dark.colors.background);\n```\n\n**Full Configuration:**\n\n```typescript\nconst result = await resolveTheme({\n  // Option 1: CSS file path\n  input: './src/styles.css',\n\n  // Option 2: Raw CSS content\n  // css: '@theme { --color-primary: blue; }',\n\n  // Optional: Base path for @import resolution\n  basePath: process.cwd(),\n\n  // Optional: Resolve @import statements (default: true)\n  resolveImports: true,\n\n  // Optional: Control Tailwind defaults (default: true)\n  includeDefaults: true,\n\n  // Optional: Nesting configuration\n  nesting: {\n    colors: { maxDepth: 2 },\n    default: { maxDepth: 3 },\n  },\n\n  // Optional: Theme overrides\n  overrides: {\n    default: { 'fonts.sans': 'Inter' },\n  },\n\n  // Optional: Debug logging (default: false)\n  debug: false,\n});\n```\n\n### CLI\n\nGenerate types without a build tool:\n\n**Basic Usage:**\n\n```bash\nbunx tailwind-resolver -i src/styles.css\n```\n\n**Common Options:**\n\n```bash\n# Specify output directory\nbunx tailwind-resolver -i src/styles.css -o src/generated\n\n# Types only (no runtime objects)\nbunx tailwind-resolver -i src/styles.css --no-runtime\n\n# Include only specific Tailwind defaults\nbunx tailwind-resolver -i src/styles.css --include-defaults colors,spacing\n\n# Exclude specific Tailwind defaults\nbunx tailwind-resolver -i src/styles.css --exclude-defaults shadows,animations\n\n# Generate only conflict reports\nbunx tailwind-resolver -i src/styles.css --reports conflicts\n\n# Debug mode\nbunx tailwind-resolver -i src/styles.css --debug\n```\n\n**All Options:**\n\n```\n  -i, --input <path>              CSS input file (required)\n  -o, --output <path>             Output directory (default: auto-detected)\n  -r, --runtime                   Generate runtime objects (default: true)\n  --no-runtime                    Types only\n  --include-defaults [categories] Include only specified Tailwind defaults (comma-separated)\n  --exclude-defaults [categories] Exclude specified Tailwind defaults (comma-separated)\n  --reports [categories]          Generate only specified reports (conflicts, unresolved)\n  --exclude-reports [categories]  Exclude specified reports (comma-separated)\n  -d, --debug                     Enable debug mode\n  -h, --help                      Show help\n```\n\n## Configuration\n\n### Tailwind Defaults\n\nControl which Tailwind CSS default theme values are included.\n\n**Include All Defaults (Default):**\n\n```typescript\nincludeDefaults: true;\n```\n\n**Exclude All Defaults:**\n\n```typescript\nincludeDefaults: false;\n```\n\n**Selective Inclusion:**\n\n```typescript\nincludeDefaults: {\n  colors: true,       // Include default colors\n  spacing: true,      // Include default spacing\n  fonts: true,        // Include default fonts\n  fontSize: true,     // Include default font sizes\n  fontWeight: true,   // Include default font weights\n  tracking: false,    // Exclude tracking\n  leading: false,     // Exclude leading\n  shadows: false,     // Exclude shadows\n  animations: false,  // Exclude animations\n  // ... 21 categories total\n}\n```\n\n**Disable Specific Defaults via CSS:**\n\nUse `initial` keyword in `@theme` blocks ([Tailwind v4 docs](https://tailwindcss.com/docs/colors#disabling-default-colors)):\n\n```css\n@theme {\n  /* Remove specific values */\n  --color-lime-*: initial;\n  --spacing-4: initial;\n\n  /* Remove entire categories */\n  --color-*: initial;\n  --spacing-*: initial;\n\n  /* Custom values are preserved */\n  --color-primary-500: #3b82f6;\n}\n```\n\n**Combining Approaches:**\n\n```typescript\n// Configuration: Include colors and spacing\nincludeDefaults: {\n  colors: true,\n  spacing: true,\n  shadows: false,\n}\n\n// CSS: Remove specific colors\n@theme {\n  --color-lime-*: initial;    // Excludes lime from included colors\n  --color-fuchsia-*: initial; // Excludes fuchsia from included colors\n}\n\n// Result: All default colors EXCEPT lime and fuchsia\n```\n\n**Priority:** CSS `initial` declarations take precedence over `includeDefaults` configuration.\n\n### Nesting Configuration\n\nControl how CSS variable names are parsed into nested theme structures.\n\n**Default Behavior:**\n\nWithout configuration, all dashes create nesting levels:\n\n```css\n--color-tooltip-outline-50: #fff;\n/* → colors.tooltip.outline[50] */\n```\n\n**Limit Nesting Depth:**\n\n```typescript\nnesting: {\n  colors: { maxDepth: 2 },\n  // --color-brand-primary-hover-500\n  // → colors.brand.primaryHover500 (2 levels, rest flattened to camelCase)\n}\n```\n\n**Flatten Mode:**\n\nControl how parts beyond `maxDepth` are flattened:\n\n```typescript\nnesting: {\n  colors: {\n    maxDepth: 2,\n    flattenMode: 'camelcase', // Default: blueSkyLight50\n    // flattenMode: 'literal',  // Alternative: 'blue-sky-light-50'\n  }\n}\n```\n\n**Consecutive Dashes Handling:**\n\n```typescript\nnesting: {\n  colors: {\n    consecutiveDashes: 'exclude',   // Default: skip variables with --\n    // consecutiveDashes: 'nest',     // Treat -- as single -\n    // consecutiveDashes: 'camelcase',// Convert to camelCase\n    // consecutiveDashes: 'literal',  // Preserve dash\n  }\n}\n```\n\n**Per-Namespace Configuration:**\n\n```typescript\nnesting: {\n  default: { maxDepth: 1 },         // Apply to all namespaces\n  colors: { maxDepth: 3 },          // Override for colors\n  shadows: { maxDepth: 2 },         // Override for shadows\n  radius: { maxDepth: 0 },          // Completely flat\n}\n```\n\n**Complete Example:**\n\n```typescript\nnesting: {\n  colors: {\n    maxDepth: 2,\n    flattenMode: 'literal',\n    consecutiveDashes: 'camelcase',\n  }\n}\n\n// CSS: --color-tooltip--outline-hover-50\n// Step 1: tooltipOutline (consecutive dashes → camelCase)\n// Step 2: maxDepth: 2 → colors.tooltipOutline.hover['50']\n```\n\nSee [Nesting Configuration Details](#nesting-configuration-details) for comprehensive documentation.\n\n### Theme Overrides\n\nApply programmatic overrides to theme values without modifying CSS files.\n\n**Use Cases:**\n\n- Inject external variables (Next.js fonts, plugin variables)\n- Fix variant-specific values\n- Global customization across all variants\n- Quick prototyping\n\n**Flat Notation:**\n\n```typescript\noverrides: {\n  default: {\n    'colors.primary.500': '#custom-blue',\n    'radius.lg': '0.5rem',\n  },\n  dark: {\n    'colors.background': '#000000',\n  },\n  '*': { // Wildcard - applies to all variants\n    'fonts.sans': 'Inter, sans-serif',\n  }\n}\n```\n\n**Nested Notation:**\n\n```typescript\noverrides: {\n  default: {\n    colors: {\n      primary: {\n        500: '#custom-blue'\n      }\n    },\n    radius: {\n      lg: '0.5rem'\n    }\n  }\n}\n```\n\n**Detailed Control:**\n\n```typescript\noverrides: {\n  dark: {\n    'radius.lg': {\n      value: '0',\n      force: true,        // Apply even for low-confidence conflicts\n      resolveVars: false  // Skip variable resolution\n    }\n  }\n}\n```\n\n**Selector Matching:**\n\n```typescript\noverrides: {\n  'dark': {},                        // Variant name (preferred)\n  '[data-theme=\"dark\"]': {},         // CSS selector (verbose)\n  'default': {},                     // Default theme\n  'base': {},                        // Alias for 'default'\n  '*': {},                           // All variants\n  'themeInter': {},                  // .theme-inter → themeInter (camelCase)\n}\n```\n\n**Note:** Multi-word variant names are automatically converted to camelCase:\n\n- CSS: `.theme-noto-sans` → Override key: `'themeNotoSans'`\n\nSee [Theme Overrides Details](#theme-overrides-details) for comprehensive documentation.\n\n### Report Generation\n\nControl diagnostic report generation.\n\n**Enable All Reports (Default):**\n\n```typescript\ngenerateRuntime: {\n  reports: true,\n}\n```\n\n**Disable All Reports:**\n\n```typescript\ngenerateRuntime: {\n  reports: false,\n}\n```\n\n**Granular Control:**\n\n```typescript\ngenerateRuntime: {\n  reports: {\n    conflicts: true,    // CSS conflict reports\n    unresolved: false,  // Unresolved variable reports\n  }\n}\n```\n\n**CLI:**\n\n```bash\n# Disable all reports\nbunx tailwind-resolver -i src/styles.css --no-reports\n\n# Generate only conflict reports\nbunx tailwind-resolver -i src/styles.css --reports conflicts\n\n# Exclude unresolved variable reports\nbunx tailwind-resolver -i src/styles.css --exclude-reports unresolved\n```\n\n## Advanced Features\n\n### CSS Conflict Detection\n\nAutomatically detects when CSS rules override CSS variables and ensures runtime theme matches actual rendered styles.\n\n**Problem:**\n\n```css\n.theme-mono {\n  --radius-lg: 0.45em; /* CSS variable */\n\n  .rounded-lg {\n    border-radius: 0; /* CSS rule - overrides the variable! */\n  }\n}\n```\n\n**Solution:**\n\nThe resolver:\n\n1. Detects all conflicts between CSS rules and variables\n2. Applies high-confidence overrides automatically\n3. Reports complex cases for manual review\n\n**Confidence Levels:**\n\n- **High** (auto-applied): Static values, simple selectors\n- **Medium/Low** (manual review): Dynamic values, pseudo-classes, media queries, complex selectors\n\n**Generated Reports:**\n\n```\nsrc/generated/tailwindcss/\n├── conflicts.md    # Human-readable report with recommendations\n└── conflicts.json  # Machine-readable for CI/CD\n```\n\n**Terminal Output:**\n\n```\n✓ Theme types generated successfully\n\nGenerated files:\n  - src/generated/tailwindcss/types.ts\n  - src/generated/tailwindcss/theme.ts\n  - src/generated/tailwindcss/index.ts\n\n⚠  12 CSS conflicts detected (see src/generated/tailwindcss/conflicts.md)\n```\n\n### Unresolved Variable Detection\n\nDetects CSS variables with `var()` references that couldn't be resolved.\n\n**Problem:**\n\n```css\n@theme {\n  --font-sans: var(--font-inter); /* Injected by Next.js */\n  --color-accent: var(--tw-primary); /* Tailwind plugin variable */\n}\n```\n\n**Solution:**\n\nThe resolver categorizes unresolved variables:\n\n- **Unknown** - May need definition or verification\n- **External** - From plugins, frameworks, or external stylesheets\n- **Self-referential** - Intentionally left unresolved\n\n**Generated Reports:**\n\n```\nsrc/generated/tailwindcss/\n├── unresolved.md    # Human-readable with actionable recommendations\n└── unresolved.json  # Machine-readable for CI/CD\n```\n\n**Terminal Output:**\n\n```\nℹ  8 unresolved variables detected (see src/generated/tailwindcss/unresolved.md)\n```\n\n### Dynamic Spacing Helper\n\nThe `spacing` property is both an object AND a callable function for dynamic calculations.\n\n**Static Values:**\n\n```typescript\ndefaultTheme.spacing.xs; // '0.75rem'\ndefaultTheme.spacing.base; // '0.25rem'\n```\n\n**Dynamic Calculations:**\n\n```typescript\ndefaultTheme.spacing(4); // 'calc(0.25rem * 4)' → 1rem\ndefaultTheme.spacing(16); // 'calc(0.25rem * 16)' → 4rem\ndefaultTheme.spacing(-2); // 'calc(0.25rem * -2)' → -0.5rem\n```\n\n**Usage:**\n\n```typescript\n<div style={{\n  padding: defaultTheme.spacing(4),   // Same as Tailwind's p-4\n  margin: defaultTheme.spacing(-2),   // Same as Tailwind's -m-2\n  width: defaultTheme.spacing(64),    // Same as Tailwind's w-64\n}} />\n```\n\n**Why:** Tailwind generates utilities like `p-4`, `m-8`, `w-16` using `calc(var(--spacing) * N)`. This helper replicates that behavior for runtime use.\n\n**Tailwind Utilities Using Spacing:**\n\n- Layout: `inset-<n>`, `m-<n>`, `p-<n>`, `gap-<n>`\n- Sizing: `w-<n>`, `h-<n>`, `min-w-<n>`, `max-w-<n>`\n- Typography: `indent-<n>`, `border-spacing-<n>`, `scroll-m-<n>`\n\n**Note:** Requires `--spacing-base` in your CSS theme.\n\n### Type Safety\n\nFull TypeScript type safety with the generated `Tailwind` interface.\n\n**Generated Constant:**\n\n```typescript\nimport { tailwind } from './generated/tailwindcss';\n\n// Fully typed with autocomplete\ntailwind.variants.default.colors.primary[500]; // ✓\ntailwind.variants.dark.colors.background; // ✓\ntailwind.selectors.dark; // ✓\n```\n\n**Runtime API:**\n\n```typescript\nimport type { Tailwind } from './generated/tailwindcss';\n\nimport { resolveTheme } from 'tailwind-resolver';\n\nconst result = await resolveTheme<Tailwind>({\n  input: './theme.css',\n});\n\n// Same structure, same types\nresult.variants.default.colors.primary[500]; // ✓\nresult.variants.dark.colors.background; // ✓\nresult.selectors.dark; // ✓\n```\n\n**Autocomplete:** Works automatically when output directory is in `tsconfig.json` includes.\n\n## Examples\n\n### Chart.js\n\n```typescript\nimport { tailwind } from './generated/tailwindcss';\n\nnew Chart(ctx, {\n  data: {\n    datasets: [\n      {\n        backgroundColor: [\n          tailwind.variants.default.colors.primary[500],\n          tailwind.variants.dark.colors.secondary[500],\n        ],\n      },\n    ],\n  },\n});\n```\n\n### Canvas\n\n```typescript\nimport { defaultTheme } from './generated/tailwindcss';\n\nctx.fillStyle = defaultTheme.colors.background;\nctx.font = `${defaultTheme.fontSize.xl.size} ${defaultTheme.fonts.display}`;\n```\n\n### Dynamic Theme Switching\n\n```typescript\nimport { tailwind } from './generated/tailwindcss';\n\nconst currentTheme = isDark\n  ? tailwind.variants.dark\n  : tailwind.variants.default;\n\nchartInstance.data.datasets[0].backgroundColor =\n  currentTheme.colors.primary[500];\nchartInstance.update();\n```\n\n### Theme Variants\n\n```css\n@theme {\n  --color-background: #ffffff;\n}\n\n[data-theme='dark'] {\n  --color-background: #1f2937;\n}\n```\n\n```typescript\nimport { dark, defaultTheme, selectors } from './generated/tailwindcss';\n\nconsole.log(defaultTheme.colors.background); // '#ffffff'\nconsole.log(dark.colors.background); // '#1f2937'\nconsole.log(selectors.dark); // \"[data-theme='dark']\"\n```\n\n## Debugging\n\nEnable debug mode to see detailed logging.\n\n**Vite:**\n\n```typescript\ntailwindResolver({ input: 'src/styles.css', debug: true });\n```\n\n**CLI:**\n\n```bash\nbunx tailwind-resolver -i src/styles.css --debug\n```\n\n**Runtime API:**\n\n```typescript\nresolveTheme({ input: './theme.css', debug: true });\n```\n\n**Output:**\n\n```\n[Tailwind Theme Resolver] Failed to resolve import: ./components/theme.css\n  Resolved path: /Users/you/project/src/components/theme.css\n  Error: ENOENT: no such file or directory\n\n[Overrides] Injected variable: --radius-lg = 0.5rem\n[Overrides] Applied to 'default': radius.lg = 0.5rem\n```\n\n## Requirements\n\n- **Node.js** >= 18 or **Bun** >= 1.0\n- **TypeScript** >= 5.0 (for type generation)\n- **Vite** >= 5.0 (for Vite plugin only)\n\n## Contributing\n\nIssues and pull requests welcome on [GitHub](https://github.com/0xstern/tailwind-resolver).\n\n## License\n\nMIT\n\n---\n\n## Appendix\n\n### Nesting Configuration Details\n\nComplete documentation for nesting configuration options.\n\n#### Default Behavior\n\nWithout configuration, every dash creates a nesting level:\n\n```css\n@theme {\n  --color-tooltip-outline-50: #fff;\n  /* → colors.tooltip.outline[50] */\n\n  --shadow-elevation-high-focus: 0 0 0;\n  /* → shadows.elevation.high.focus */\n}\n```\n\n#### maxDepth\n\nLimit nesting levels. After the limit, remaining parts are flattened.\n\n**Configuration:**\n\n```typescript\nnesting: {\n  colors: {\n    maxDepth: 2;\n  }\n}\n```\n\n**Results:**\n\n```css\n--color-tooltip-outline-50: #fff;\n/* Before: colors.tooltip.outline[50] */\n/* After:  colors.tooltip.outline['50'] (no change - only 3 parts) */\n\n--color-brand-primary-hover-500: #3b82f6;\n/* Before: colors.brand.primary.hover[500] */\n/* After:  colors.brand.primaryHover500 (2 levels, rest flattened) */\n```\n\n**Special Case - maxDepth: 0:**\n\n```typescript\nnesting: { default: { maxDepth: 0 } }\n\n// --color-brand-primary-dark: #000\n// → colors.brandPrimaryDark (completely flat)\n```\n\n#### consecutiveDashes\n\nControl how consecutive dashes (`--`) are processed:\n\n**Options:**\n\n- `'exclude'` (default, matches Tailwind v4) - Skip variables with `--`\n- `'nest'` - Treat `--` as single `-`\n- `'camelcase'` - Convert `--` to camelCase boundary\n- `'literal'` - Preserve `--` in keys\n\n**Configuration:**\n\n```typescript\nnesting: {\n  colors: {\n    consecutiveDashes: 'camelcase';\n  }\n}\n```\n\n**Results:**\n\n```css\n--color-button--primary: #fff;\n\n/* 'exclude' (default): Not included */\n/* 'nest': colors.button.primary */\n/* 'camelcase': colors.buttonPrimary */\n/* 'literal': colors['button-'].primary */\n```\n\n#### flattenMode\n\nControl how parts beyond `maxDepth` are flattened:\n\n**Options:**\n\n- `'camelcase'` (default) - Flatten to camelCase\n- `'literal'` - Flatten to kebab-case string key\n\n**Configuration:**\n\n```typescript\nnesting: {\n  colors: {\n    maxDepth: 2,\n    flattenMode: 'literal'\n  }\n}\n```\n\n**Results:**\n\n```css\n--color-blue-sky-light-50: #e0f2fe;\n\n/* flattenMode: 'camelcase' (default) */\n/* → colors.blue.skyLight50 */\n\n/* flattenMode: 'literal' */\n/* → colors.blue['sky-light-50'] */\n```\n\n**Note:** Only applies when `maxDepth` is reached.\n\n#### Combining Options\n\n```typescript\nnesting: {\n  colors: {\n    maxDepth: 2,\n    consecutiveDashes: 'camelcase',\n    flattenMode: 'literal',\n  }\n}\n```\n\n```css\n--color-tooltip--outline-hover-50: #fff;\n/* Step 1: tooltipOutline (consecutive dashes → camelCase) */\n/* Step 2: maxDepth: 2 → colors.tooltipOutline.hover['50'] */\n```\n\n#### Per-Namespace Configuration\n\n```typescript\nnesting: {\n  colors: { maxDepth: 3 },      // Deep nesting\n  shadows: { maxDepth: 2 },     // Moderate nesting\n  spacing: { maxDepth: 1 },     // Flat structure\n  radius: { consecutiveDashes: 'camelcase' },\n}\n```\n\n#### Global Default\n\n```typescript\nnesting: {\n  default: { maxDepth: 1 },     // Apply to all namespaces\n  colors: { maxDepth: 3 },      // Override for colors\n}\n```\n\n#### DEFAULT Key for Conflicts\n\nWhen both scalar and nested variables exist at the same path, the scalar moves to `DEFAULT`:\n\n```css\n@theme {\n  --color-card: blue;\n  --color-card-foreground: white;\n}\n```\n\n```typescript\n// Result:\n{\n  colors: {\n    card: {\n      DEFAULT: 'blue',\n      foreground: 'white'\n    }\n  }\n}\n```\n\n**Works in Any Order:**\n\n```css\n/* Nested first, then scalar */\n--color-card-foreground: white;\n--color-card: blue;\n/* Same result: { card: { DEFAULT: 'blue', foreground: 'white' } } */\n```\n\n**With Color Scales:**\n\n```css\n--color-blue-500: #3b82f6;\n--color-blue-600: #2563eb;\n--color-blue: #1d4ed8;\n```\n\n```typescript\n// Result:\n{\n  blue: {\n    DEFAULT: '#1d4ed8',\n    500: '#3b82f6',\n    600: '#2563eb'\n  }\n}\n```\n\n#### Use Cases\n\n**1. Consistent Flat Structure:**\n\n```typescript\nnesting: { default: { maxDepth: 0 } }\n\n// All variables flattened:\n// --color-brand-primary-500 → colors.brandPrimary500\n```\n\n**2. BEM-Style Naming:**\n\n```typescript\nnesting: {\n  default: {\n    maxDepth: 1,\n    consecutiveDashes: 'camelcase'\n  }\n}\n\n// --color-button--primary → colors.buttonPrimary\n// --color-input--error → colors.inputError\n```\n\n**3. Controlled Depth by Category:**\n\n```typescript\nnesting: {\n  colors: { maxDepth: 3 },      // Deep color scales\n  shadows: { maxDepth: 2 },     // Moderate shadow variants\n  radius: { maxDepth: 1 },      // Flat radius values\n}\n```\n\n#### CLI Flags\n\n```bash\n# Limit nesting depth globally\nbunx tailwind-resolver -i src/styles.css --nesting-max-depth 2\n\n# Control consecutive dashes\nbunx tailwind-resolver -i src/styles.css --nesting-consecutive-dashes camelcase\n\n# Control flatten mode\nbunx tailwind-resolver -i src/styles.css --nesting-flatten-mode literal\n\n# Combine options\nbunx tailwind-resolver -i src/styles.css \\\n  --nesting-max-depth 2 \\\n  --nesting-consecutive-dashes nest \\\n  --nesting-flatten-mode literal\n```\n\n**Note:** CLI flags apply globally to all namespaces. For per-namespace control, use Vite plugin or Runtime API.\n\n### Theme Overrides Details\n\nComplete documentation for theme overrides.\n\n#### When to Use Overrides\n\n- **Inject external variables** - Provide values for Next.js fonts, Tailwind plugins, or external sources\n- **Fix variant-specific values** - Override dark mode or custom theme properties\n- **Global customization** - Apply consistent values across all variants\n- **Quick prototyping** - Test theme changes without editing CSS\n\n#### Syntax Options\n\n**Flat Notation (Dot-Separated Paths):**\n\n```typescript\noverrides: {\n  default: {\n    'colors.primary.500': '#custom-blue',\n    'radius.lg': '0.5rem',\n    'fonts.sans': 'Inter, sans-serif'\n  }\n}\n```\n\n**Nested Notation:**\n\n```typescript\noverrides: {\n  default: {\n    colors: {\n      primary: {\n        500: '#custom-blue'\n      }\n    },\n    radius: {\n      lg: '0.5rem'\n    }\n  }\n}\n```\n\n**Mix and Match:**\n\n```typescript\noverrides: {\n  default: {\n    'colors.primary.500': '#custom-blue',\n    radius: { lg: '0.5rem' }\n  }\n}\n```\n\n#### Selector Matching\n\n**Variant Names (Recommended):**\n\n```typescript\noverrides: {\n  'dark': { 'colors.background': '#000' },\n  'themeInter': { 'fonts.sans': 'Inter' },  // .theme-inter → themeInter\n}\n```\n\n**CSS Selectors (Verbose):**\n\n```typescript\noverrides: {\n  '[data-theme=\"dark\"]': { 'colors.background': '#000' },\n}\n```\n\n**Special Keys:**\n\n```typescript\noverrides: {\n  'default': {},  // Default theme\n  'base': {},     // Alias for 'default'\n  '*': {},        // All variants (wildcard)\n}\n```\n\n**Important:** Variant names are automatically converted from kebab-case to camelCase:\n\n- CSS: `.theme-inter` → Override key: `'themeInter'`\n- CSS: `.theme-noto-sans` → Override key: `'themeNotoSans'`\n\n#### Detailed Control\n\n```typescript\noverrides: {\n  dark: {\n    'radius.lg': {\n      value: '0',\n      force: true,        // Apply even for low-confidence conflicts\n      resolveVars: false  // Skip variable resolution (post-resolution only)\n    }\n  }\n}\n```\n\n#### Common Use Cases\n\n**1. Injecting External Variables:**\n\n```typescript\noverrides: {\n  default: {\n    'fonts.sans': 'var(--font-inter)',      // Next.js font\n    'colors.primary': 'var(--tw-primary)'   // Tailwind plugin\n  }\n}\n```\n\n**2. Variant-Specific Overrides:**\n\n```typescript\noverrides: {\n  dark: {\n    'colors.background': '#000000',\n    'colors.foreground': '#ffffff'\n  },\n  compact: {\n    'radius.lg': '0',\n    'spacing.base': '0.125rem'\n  }\n}\n```\n\n**3. Global Overrides:**\n\n```typescript\noverrides: {\n  '*': {\n    'fonts.sans': 'Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n    'fonts.mono': 'JetBrains Mono, Consolas, monospace'\n  }\n}\n```\n\n**4. Prototyping:**\n\n```typescript\noverrides: {\n  default: {\n    'colors.primary.500': '#ff6b6b',\n    'radius.lg': '1rem'\n  }\n}\n```\n\n#### How It Works\n\nTwo-phase approach:\n\n1. **Pre-resolution** (Variable Injection)\n   - Injects synthetic CSS variables before resolution\n   - Allows overrides to participate in `var()` resolution\n   - Applied to: `'default'`, `'base'`, `'*'` selectors\n\n2. **Post-resolution** (Theme Mutation)\n   - Directly mutates resolved theme objects\n   - Overrides final computed values\n   - Applied to: all selector types\n\n#### Debug Mode\n\n```typescript\ntailwindResolver({\n  input: 'src/styles.css',\n  debug: true,\n  overrides: {\n    default: { 'radius.lg': '0.5rem' },\n  },\n});\n```\n\n**Output:**\n\n```\n[Overrides] Injected variable: --radius-lg = 0.5rem\n[Overrides] Injected 1 variables for 'default'\n[Overrides] Applied to 'default': radius.lg = 0.5rem\n[Overrides] Summary for 'default': 1 applied, 0 skipped\n```\n\n---\n\n## TypeScript Configuration\n\nEnsure the output directory is included in `tsconfig.json`:\n\n```json\n{\n  \"include\": [\"src/**/*\"],\n  \"compilerOptions\": {\n    \"skipLibCheck\": true\n  }\n}\n```\n\n---\n\nIf you find this helpful, follow me on X [@mrstern\\_](https://x.com/mrstern_)\n","readmeFilename":"README.md"}