{"_id":"happy-style","_rev":"8-836390414f1a5f774eeb3c697cd1dcd8","name":"happy-style","dist-tags":{"latest":"1.0.6"},"versions":{"0.1.0":{"name":"happy-style","version":"0.1.0","keywords":["store","variable","functional"],"author":{"url":"http://coderaiser.github.io/","name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"license":"MIT","_id":"happy-style@0.1.0","maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"homepage":"https://github.com/coderaiser/happy-css","bugs":{"url":"https://github.com/coderaiser/happy-css/issues"},"bin":{"happy-css":"bin/happy-css.js"},"dist":{"shasum":"ec099f8eb5693f60879ab3b21ce57ac61ec551f9","tarball":"https://registry.npmjs.org/happy-style/-/happy-style-0.1.0.tgz","fileCount":191,"integrity":"sha512-BbvlLzoCy7gkPpbTfZxKMefH+lnp/4lrC2ngueC60NKv5Z39J8zV1hpwUkzufXH7IxJpOmoFB7rxtFB6NKAgVw==","signatures":[{"sig":"MEQCIEAj6oS3RCoeajq3BHR3q6MId5LXncnK8OP8nsURok2CAiA0yj1CRphtJ6o++NRJxoIh0QP/m3anqd50nymQVIH9og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48309},"type":"module","engines":{"node":">=22"},"exports":{".":"./lib/happy-css.js"},"gitHead":"e1e38bd4022f1d47e93b7534f427f8f6217a276c","imports":{"#parser":"./lib/parser/parser.js","#printer":"./lib/printer/printer.js","#happy-css":"./lib/happy-css.js","#parser/rule":"./lib/parser/visitors/rule/rule.js","#parser/test":"./test/create-parser-test.js","#parser/value":"./lib/parser/visitors/value/value.js","#printer/test":"./test/create-printer-test.js","#parser/atrule":"./lib/parser/visitors/atrule/atrule.js","#parser/selector":"./lib/parser/visitors/selector/selector.js","#parser/visitors":"./lib/parser/visitors/index.js","#parser/declaration":"./lib/parser/visitors/declaration/declaration.js","#parser/leading-comment":"./lib/parser/visitors/leading-comment.js"},"scripts":{"lint":"madrun lint","test":"madrun test","report":"madrun report","watcher":"madrun watcher","coverage":"madrun coverage","fix:lint":"madrun fix:lint","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:test":"madrun watch:test","watch:coverage":"madrun watch:coverage","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"repository":{"url":"git+https://github.com/coderaiser/happy-css.git","type":"git"},"_npmVersion":"11.2.0","description":"css to js ast parser","directories":{},"_nodeVersion":"26.9.0","dependencies":{"redstd":"^1.0.2","css-tree":"^3.2.1","@putout/babel":"^5.7.3","@putout/printer":"^18.17.0","@putout/operator-json":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","madrun":"^13.0.1","montag":"^2.0.1","putout":"^42.2.3","nodemon":"^3.1.11","redlint":"^6.9.2","superc8":"^12.7.0","supertape":"^13.2.0","try-catch":"^4.0.9","@putout/test":"^15.4.0","just-kebab-case":"^4.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^31.1.1","@putout/plugin-printer":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-style_0.1.0_1789891989035_0.9718508545409994","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"happy-style","version":"1.0.0","keywords":["store","variable","functional"],"author":{"url":"http://coderaiser.github.io/","name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"license":"MIT","_id":"happy-style@1.0.0","maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"homepage":"https://github.com/coderaiser/happy-style","bugs":{"url":"https://github.com/coderaiser/happy-style/issues"},"bin":{"happy-style":"bin/happy-style.js"},"dist":{"shasum":"9e7aff17fda588736ce012506c9936073dbaa20c","tarball":"https://registry.npmjs.org/happy-style/-/happy-style-1.0.0.tgz","fileCount":191,"integrity":"sha512-u47Aw8BHGXW83p9Tqs8Ivnbarig/e4zxiesE1jo7qTEB5KOvrM4QnZ4vKcwGOMAWHUhBXsM9Z3hPnyJBV5qI5g==","signatures":[{"sig":"MEQCIHWjRxz9D/KPTJUqIvYHQlq+crRdjLdmjkNPS1eAIxLNAiB1+4doi0L1SYw4pJoHKp8U5ndrF8SlpErQuV0seHw7fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCA6AaEkXblml2vnrUKEHDRxQ/FAQvwnflsLw5mtNKmbQIhAMi/5o+irs4FGwTGHrUaacBuNREwU9zsASWY60hxggnJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48839},"type":"module","engines":{"node":">=22"},"exports":{".":"./lib/happy-style.js"},"gitHead":"74a9059143381fe9bbc7fecffc13a10d483cf596","imports":{"#parser":"./lib/parser/parser.js","#printer":"./lib/printer/printer.js","#happy-style":"./lib/happy-style.js","#parser/rule":"./lib/parser/visitors/rule/rule.js","#parser/test":"./test/create-parser-test.js","#parser/value":"./lib/parser/visitors/value/value.js","#printer/test":"./test/create-printer-test.js","#parser/atrule":"./lib/parser/visitors/atrule/atrule.js","#parser/selector":"./lib/parser/visitors/selector/selector.js","#parser/visitors":"./lib/parser/visitors/index.js","#parser/declaration":"./lib/parser/visitors/declaration/declaration.js","#parser/leading-comment":"./lib/parser/visitors/leading-comment.js"},"scripts":{"lint":"madrun lint","test":"madrun test","report":"madrun report","watcher":"madrun watcher","coverage":"madrun coverage","fix:lint":"madrun fix:lint","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:test":"madrun watch:test","watch:coverage":"madrun watch:coverage","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"repository":{"url":"git+https://github.com/coderaiser/happy-style.git","type":"git"},"_npmVersion":"11.2.0","description":"css to js ast parser","directories":{},"_nodeVersion":"26.9.0","dependencies":{"redstd":"^1.0.2","css-tree":"^3.2.1","@putout/babel":"^5.7.3","@putout/printer":"^18.17.0","@putout/operator-json":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","madrun":"^13.0.1","montag":"^2.0.1","putout":"^42.2.3","nodemon":"^3.1.11","redlint":"^6.9.2","superc8":"^12.7.0","supertape":"^13.2.0","try-catch":"^4.0.9","@putout/test":"^15.4.0","just-kebab-case":"^4.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^31.1.1","@putout/plugin-printer":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-style_1.0.0_1789893030890_0.6015361126202761","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"happy-style","version":"1.0.1","keywords":["store","variable","functional"],"author":{"url":"http://coderaiser.github.io/","name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"license":"MIT","_id":"happy-style@1.0.1","maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"homepage":"https://github.com/coderaiser/happy-style","bugs":{"url":"https://github.com/coderaiser/happy-style/issues"},"bin":{"happy-style":"bin/happy-style.js"},"dist":{"shasum":"8d00210daf9319b922e29ad5a26ab98d1b7d3fdb","tarball":"https://registry.npmjs.org/happy-style/-/happy-style-1.0.1.tgz","fileCount":198,"integrity":"sha512-/zOPW4s1rx0BeOOiKy+d10jBIiJzJNUd5fcDG5wrRDCcFqLP7Az/MgtpYio+qDP0QLy30dmlhFMJs5aH76qyXA==","signatures":[{"sig":"MEYCIQC0v55jE2dupF6FIfF3J42Fp6syCB+MGJ33BPxXhefsOgIhAMXDhQ+9DWKwNL1zl6jthy2AMJZfq85VvRdUTi7M/WYy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDAYx0sp8AURGAlxH/clVL/jgoxXVits0lQdvgfyDHk6AiEAnXK+cS50vWKiCV2NSiWP6dJQdRLewlN3GqnD7UpjojU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49715},"type":"module","engines":{"node":">=22"},"exports":{".":"./lib/happy-style.js"},"gitHead":"6b05fe456e01c2e16bd8a4ec5fc00366da2d9814","imports":{"#parser":"./lib/parser/parser.js","#printer":"./lib/printer/printer.js","#happy-style":"./lib/happy-style.js","#parser/rule":"./lib/parser/visitors/rule/rule.js","#parser/test":"./test/create-parser-test.js","#parser/value":"./lib/parser/visitors/value/value.js","#printer/test":"./test/create-printer-test.js","#parser/atrule":"./lib/parser/visitors/atrule/atrule.js","#parser/selector":"./lib/parser/visitors/selector/selector.js","#parser/visitors":"./lib/parser/visitors/index.js","#parser/declaration":"./lib/parser/visitors/declaration/declaration.js","#parser/leading-comment":"./lib/parser/visitors/leading-comment.js"},"scripts":{"lint":"madrun lint","test":"madrun test","report":"madrun report","watcher":"madrun watcher","coverage":"madrun coverage","fix:lint":"madrun fix:lint","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:test":"madrun watch:test","watch:coverage":"madrun watch:coverage","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"repository":{"url":"git+https://github.com/coderaiser/happy-style.git","type":"git"},"_npmVersion":"11.2.0","description":"css to js ast parser","directories":{},"_nodeVersion":"26.9.0","dependencies":{"redstd":"^1.0.2","css-tree":"^3.2.1","@putout/babel":"^5.7.3","@putout/printer":"^18.17.0","@putout/operator-json":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","madrun":"^13.0.1","montag":"^2.0.1","putout":"^42.2.3","nodemon":"^3.1.11","redlint":"^6.9.2","superc8":"^12.7.0","supertape":"^13.2.0","try-catch":"^4.0.9","@putout/test":"^15.4.0","just-kebab-case":"^4.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^31.1.1","@putout/plugin-printer":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-style_1.0.1_1789916724887_0.0028643678047450827","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"happy-style","version":"1.0.2","keywords":["store","variable","functional"],"author":{"url":"http://coderaiser.github.io/","name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"license":"MIT","_id":"happy-style@1.0.2","maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"homepage":"https://github.com/coderaiser/happy-style","bugs":{"url":"https://github.com/coderaiser/happy-style/issues"},"bin":{"happy-style":"bin/happy-style.js"},"dist":{"shasum":"e1e51278dd64d886d0fcb016281797b2ebf0fe9b","tarball":"https://registry.npmjs.org/happy-style/-/happy-style-1.0.2.tgz","fileCount":203,"integrity":"sha512-jDZsQtVUZ3pvoAPfcun/E2S7yUPM8C+GCR3W0iJFmZdRwK4b1aNZjlt9N8WaLg5mhObEXL1hE9OclnNjURVdGQ==","signatures":[{"sig":"MEQCIB6LZ8m5OIT6tf3ZkovKvsUdWnlcp51vVL/PRGVYC3WzAiBoP1r/iUnjglcxBZmJpugQMkbpeSzu2999pHlbdiH+ZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIELOFftE+Lcn+0av2cxxkiLLnPJLLXzC6QbC1PpVR+WIAiEA/+M0RGfmIDeGh4EjWTyH7Mnx3MYnuD4VeHD4cz9v3VM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50251},"type":"module","engines":{"node":">=22"},"exports":{".":"./lib/happy-style.js"},"gitHead":"30d03bbef3bb921fea8e4e53174fd95e749d3a9c","imports":{"#parser":"./lib/parser/parser.js","#printer":"./lib/printer/printer.js","#happy-style":"./lib/happy-style.js","#parser/rule":"./lib/parser/visitors/rule/rule.js","#parser/test":"./test/create-parser-test.js","#parser/value":"./lib/parser/visitors/value/value.js","#printer/test":"./test/create-printer-test.js","#parser/atrule":"./lib/parser/visitors/atrule/atrule.js","#parser/selector":"./lib/parser/visitors/selector/selector.js","#parser/visitors":"./lib/parser/visitors/index.js","#parser/declaration":"./lib/parser/visitors/declaration/declaration.js","#parser/leading-comment":"./lib/parser/visitors/leading-comment.js"},"scripts":{"lint":"madrun lint","test":"madrun test","report":"madrun report","watcher":"madrun watcher","coverage":"madrun coverage","fix:lint":"madrun fix:lint","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:test":"madrun watch:test","watch:coverage":"madrun watch:coverage","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"repository":{"url":"git+https://github.com/coderaiser/happy-style.git","type":"git"},"_npmVersion":"11.2.0","description":"css to js ast parser","directories":{},"_nodeVersion":"26.9.0","dependencies":{"redstd":"^1.0.2","css-tree":"^3.2.1","@putout/babel":"^5.7.3","@putout/printer":"^18.17.0","@putout/operator-json":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","madrun":"^13.0.1","montag":"^2.0.1","putout":"^42.2.3","nodemon":"^3.1.11","redlint":"^6.9.2","superc8":"^12.7.0","supertape":"^13.2.0","try-catch":"^4.0.9","@putout/test":"^15.4.0","just-kebab-case":"^4.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^31.1.1","@putout/plugin-printer":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-style_1.0.2_1789919092344_0.034706419822697177","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"happy-style","version":"1.0.3","keywords":["store","variable","functional"],"author":{"url":"http://coderaiser.github.io/","name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"license":"MIT","_id":"happy-style@1.0.3","maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"homepage":"https://github.com/coderaiser/happy-style","bugs":{"url":"https://github.com/coderaiser/happy-style/issues"},"bin":{"happy-style":"bin/happy-style.js"},"dist":{"shasum":"b0dd136fe1a8ea0f319b65f6f8ba9f59fb9e5a71","tarball":"https://registry.npmjs.org/happy-style/-/happy-style-1.0.3.tgz","fileCount":212,"integrity":"sha512-0oRSNH4KESPKUAIga7dM803jEtRd3//UaQszBp9AO7nOvLNRLsRSBuaFR36fIXl4POoXcHhENec8itIflriT2g==","signatures":[{"sig":"MEQCIAhOw7sHPRuEuBA5hqaFLAvBxm0Cn1Wda5Al4WkY4P1dAiAX2SlnnHT25n+rZvCzaSF98YUhMOaJUQzK01VqNWRAgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDhc2DPYZ+0Gu0ugSFPYn9eDWXVvzfVgcUFWmeerq3EVAiB2j8jSYD3ek3sFbWSxm0HUADnFyG4mXlA4xcf9hvfiCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51999},"type":"module","engines":{"node":">=22"},"exports":{".":"./lib/happy-style.js"},"gitHead":"ba00d5343405c5d054548ebb5a0a7bde471708b0","imports":{"#parser":"./lib/parser/parser.js","#printer":"./lib/printer/printer.js","#happy-style":"./lib/happy-style.js","#parser/rule":"./lib/parser/visitors/rule/rule.js","#parser/test":"./test/create-parser-test.js","#parser/value":"./lib/parser/visitors/value/value.js","#printer/test":"./test/create-printer-test.js","#parser/atrule":"./lib/parser/visitors/atrule/atrule.js","#parser/selector":"./lib/parser/visitors/selector/selector.js","#parser/visitors":"./lib/parser/visitors/index.js","#parser/declaration":"./lib/parser/visitors/declaration/declaration.js","#parser/leading-comment":"./lib/parser/visitors/leading-comment.js"},"scripts":{"lint":"madrun lint","test":"madrun test","report":"madrun report","watcher":"madrun watcher","coverage":"madrun coverage","fix:lint":"madrun fix:lint","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:test":"madrun watch:test","watch:coverage":"madrun watch:coverage","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"repository":{"url":"git+https://github.com/coderaiser/happy-style.git","type":"git"},"_npmVersion":"12.0.2","description":"css to js ast parser","directories":{},"_nodeVersion":"26.9.0","dependencies":{"redstd":"^1.0.2","css-tree":"^3.2.1","@putout/babel":"^5.7.3","@putout/printer":"^18.17.0","@putout/operator-json":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","madrun":"^13.0.1","montag":"^2.0.1","putout":"^42.2.3","nodemon":"^3.1.11","redlint":"^6.9.2","superc8":"^12.7.0","supertape":"^13.2.0","try-catch":"^4.0.9","@putout/test":"^15.4.0","just-kebab-case":"^4.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^31.1.1","@putout/plugin-printer":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-style_1.0.3_1790193742354_0.9508886737587179","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"happy-style","version":"1.0.4","keywords":["store","variable","functional"],"author":{"url":"http://coderaiser.github.io/","name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"license":"MIT","_id":"happy-style@1.0.4","maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"homepage":"https://github.com/coderaiser/happy-style","bugs":{"url":"https://github.com/coderaiser/happy-style/issues"},"bin":{"happy-style":"bin/happy-style.js"},"dist":{"shasum":"47d81645ab198c8dcfdab480fd33645106eaff34","tarball":"https://registry.npmjs.org/happy-style/-/happy-style-1.0.4.tgz","fileCount":262,"integrity":"sha512-2rTZyGVC5nNm+8Gjt+zFE4SH/y/DZvcgjQcb+nGMKPKHTVzXHoEwmMMUuOmTLs0ZNeLgaudnRjKvZgr0k0whNA==","signatures":[{"sig":"MEUCIAiGC9ViqFuqtYeMJxMgVSw4QGkGBjb7tSLp7feWfnCfAiEAqOYMEbOHkR19NIk7wzOBtB0+LEpvrQjwd1j+Bg9A7Jk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDGm+GRZr1dlutMk37xgHyfQ1QkM5laZ4mOYZCro7kx4QIhAOOre0TQPAKa+3OS2NoIAe5mZI7+9HQbsDu60Wbcz0+o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62745},"type":"module","engines":{"node":">=22"},"exports":{".":"./lib/happy-style.js"},"gitHead":"832c4141f632b540f255d1a2e2a2b13cafc7a001","imports":{"#parser":"./lib/parser/parser.js","#printer":"./lib/printer/printer.js","#happy-style":"./lib/happy-style.js","#parser/rule":"./lib/parser/visitors/rule/rule.js","#parser/test":"./test/create-parser-test.js","#parser/value":"./lib/parser/visitors/value/value.js","#printer/test":"./test/create-printer-test.js","#parser/atrule":"./lib/parser/visitors/atrule/atrule.js","#parser/selector":"./lib/parser/visitors/selector/selector.js","#parser/visitors":"./lib/parser/visitors/index.js","#parser/declaration":"./lib/parser/visitors/declaration/declaration.js","#create-string-literal":"./lib/parser/creators/create-string-literal.js","#parser/leading-comment":"./lib/parser/visitors/leading-comment.js"},"scripts":{"lint":"madrun lint","test":"madrun test","report":"madrun report","watcher":"madrun watcher","coverage":"madrun coverage","fix:lint":"madrun fix:lint","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:test":"madrun watch:test","watch:coverage":"madrun watch:coverage","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"repository":{"url":"git+https://github.com/coderaiser/happy-style.git","type":"git"},"_npmVersion":"12.0.2","description":"css to js ast parser","directories":{},"_nodeVersion":"26.10.0","dependencies":{"redstd":"^1.0.2","css-tree":"^3.2.1","@putout/babel":"^5.7.3","@putout/printer":"^18.17.0","@putout/operator-json":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","madrun":"^13.0.1","montag":"^2.0.1","putout":"^42.2.3","nodemon":"^3.1.11","redlint":"^6.9.2","superc8":"^12.7.0","supertape":"^13.2.0","try-catch":"^4.0.9","@putout/test":"^15.4.0","just-kebab-case":"^4.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^31.1.1","@putout/plugin-printer":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-style_1.0.4_1790449974008_0.09322960465934571","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"happy-style","version":"1.0.5","keywords":["store","variable","functional"],"author":{"url":"http://coderaiser.github.io/","name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"license":"MIT","_id":"happy-style@1.0.5","maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"homepage":"https://github.com/coderaiser/happy-style","bugs":{"url":"https://github.com/coderaiser/happy-style/issues"},"bin":{"happy-style":"bin/happy-style.js"},"dist":{"shasum":"3ac6d7f0dcc49454456433b0ac667bcebf756450","tarball":"https://registry.npmjs.org/happy-style/-/happy-style-1.0.5.tgz","fileCount":274,"integrity":"sha512-A+RbiRrDcRin+3bf6ICXKLQhDAnTqq0mtLuhHqezp0OSlnHo6ecmZlrniiNo7GvzM+3Hx+5Ij+cuiWSTf8zO0A==","signatures":[{"sig":"MEQCIDzcA4vYB2g9FRUZF9iW+f84RyUf7ldYWMsHH2k/mbhYAiBxrdDUr7fXfvBJGypE8/+9zyrYmuWVlFiEP4TsAbbqFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBXqtnqdwCCyPQzSnRmfHoXEVh8AfnQ1R6aaj25GW6EyAiAbqxw2SYy3I+7lkCVrGA1N/uSRwhFRdwvl2/iNtatyzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65266},"type":"module","engines":{"node":">=22"},"exports":{".":"./lib/happy-style.js"},"gitHead":"b50f7deba22ca6722e1c6a52a574d40b579031c6","imports":{"#parser":"./lib/parser/parser.js","#printer":"./lib/printer/printer.js","#happy-style":"./lib/happy-style.js","#parser/rule":"./lib/parser/visitors/rule/rule.js","#parser/test":"./test/create-parser-test.js","#parser/value":"./lib/parser/visitors/value/value.js","#printer/test":"./test/create-printer-test.js","#parser/atrule":"./lib/parser/visitors/atrule/atrule.js","#parser/selector":"./lib/parser/visitors/selector/selector.js","#parser/visitors":"./lib/parser/visitors/index.js","#parser/declaration":"./lib/parser/visitors/declaration/declaration.js","#create-string-literal":"./lib/parser/creators/create-string-literal.js","#parser/leading-comment":"./lib/parser/visitors/leading-comment.js"},"scripts":{"lint":"madrun lint","test":"madrun test","report":"madrun report","watcher":"madrun watcher","coverage":"madrun coverage","fix:lint":"madrun fix:lint","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:test":"madrun watch:test","watch:coverage":"madrun watch:coverage","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"repository":{"url":"git+https://github.com/coderaiser/happy-style.git","type":"git"},"_npmVersion":"12.0.2","description":"css to js ast parser","directories":{},"_nodeVersion":"26.10.0","dependencies":{"redstd":"^1.0.2","css-tree":"^3.2.1","@putout/babel":"^5.7.3","@putout/printer":"^18.17.0","@putout/operator-json":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","madrun":"^13.0.1","montag":"^2.0.1","putout":"^42.2.3","nodemon":"^3.1.11","redlint":"^6.9.2","superc8":"^12.7.0","supertape":"^13.2.0","try-catch":"^4.0.9","@putout/test":"^15.4.0","just-kebab-case":"^4.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^31.1.1","@putout/plugin-printer":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-style_1.0.5_1790459106142_0.29888996550814784","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"_id":"happy-style@1.0.6","bin":{"happy-style":"bin/happy-style.js"},"bugs":{"url":"https://github.com/coderaiser/happy-style/issues"},"dist":{"shasum":"d37f47102f15516a06395713d812584afb8588e0","tarball":"https://registry.npmjs.org/happy-style/-/happy-style-1.0.6.tgz","fileCount":354,"integrity":"sha512-9xO6CU7zDvwifU502AWgRmVo7h6EBzk7YBgFT0V1Z6QqPjI7M0H6eJa05emTGK12DrmAMrUX4ZsKelIrzCcsRg==","signatures":[{"sig":"MEUCIQCevBN1oFR7Q5Na2BRr8fEPhVgkcSohMurGqMy8VIl5ZAIgEDpkye3s5Urcn6Jgd89fkRYsJA9vFeNMPZwWdCfJS1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFkwxpLIBXrF5KjTLbOWSxfa/ILRqJY8oEjeGMMkIxPxAiBgsYJYM5Pu0baSxYK31YLEYCFJoQ5Svkrx4giHRhQtPw=="}],"unpackedSize":86168},"name":"happy-style","type":"module","author":{"url":"http://coderaiser.github.io/","name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"engines":{"node":">=22"},"exports":{".":"./lib/happy-style.js"},"gitHead":"366e41f4b01969cde5f240547fa14bc3478a1d39","imports":{"#parser":"./lib/parser/parser.js","#printer":"./lib/printer/printer.js","#happy-style":"./lib/happy-style.js","#parser/rule":"./lib/parser/visitors/rule/rule.js","#parser/test":"./test/create-parser-test.js","#parser/value":"./lib/parser/visitors/value/value.js","#printer/test":"./test/create-printer-test.js","#parser/atrule":"./lib/parser/visitors/atrule/atrule.js","#parser/selector":"./lib/parser/visitors/selector/selector.js","#parser/visitors":"./lib/parser/visitors/index.js","#parser/declaration":"./lib/parser/visitors/declaration/declaration.js","#convert/test/parser":"./test/create-convert-parser-test.js","#convert/test/printer":"./test/create-convert-printer-test.js","#create-string-literal":"./lib/parser/creators/create-string-literal.js","#parser/leading-comment":"./lib/parser/visitors/leading-comment.js"},"license":"MIT","scripts":{"lint":"madrun lint","test":"madrun test","report":"madrun report","watcher":"madrun watcher","coverage":"madrun coverage","fix:lint":"madrun fix:lint","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:test":"madrun watch:test","watch:coverage":"madrun watch:coverage","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape"},"version":"1.0.6","_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"homepage":"https://github.com/coderaiser/happy-style","keywords":["store","variable","functional"],"repository":{"url":"git+https://github.com/coderaiser/happy-style.git","type":"git"},"_npmVersion":"12.0.2","description":"css to js ast parser","directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_nodeVersion":"26.7.0","dependencies":{"redstd":"^1.0.2","css-tree":"^3.2.1","@putout/babel":"^5.7.3","@putout/printer":"^18.17.0","@putout/operator-json":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","madrun":"^13.0.1","montag":"^2.0.1","putout":"^42.2.3","nodemon":"^3.1.11","redlint":"^6.9.2","superc8":"^12.7.0","supertape":"^13.2.0","try-catch":"^4.0.9","@putout/test":"^15.4.0","just-kebab-case":"^4.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^31.1.1","@putout/plugin-printer":"^8.17.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/happy-style_1.0.6_1790499351857_0.4033849965494989"}}},"time":{"created":"2026-09-20T08:13:08.980Z","modified":"2026-09-27T08:55:52.096Z","0.1.0":"2026-09-20T08:13:09.179Z","1.0.0":"2026-09-20T08:30:30.970Z","1.0.1":"2026-09-20T15:05:24.973Z","1.0.2":"2026-09-20T15:44:52.429Z","1.0.3":"2026-09-23T20:02:22.452Z","1.0.4":"2026-09-26T19:12:54.096Z","1.0.5":"2026-09-26T21:45:06.230Z","1.0.6":"2026-09-27T08:55:51.931Z"},"bugs":{"url":"https://github.com/coderaiser/happy-style/issues"},"author":{"url":"http://coderaiser.github.io/","name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"license":"MIT","homepage":"https://github.com/coderaiser/happy-style","keywords":["store","variable","functional"],"repository":{"url":"git+https://github.com/coderaiser/happy-style.git","type":"git"},"description":"css to js ast parser","maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"readme":"# Happy Style [![License][LicenseIMGURL]][LicenseURL] [![NPM version][NPMIMGURL]][NPMURL] [![Build Status][BuildStatusIMGURL]][BuildStatusURL]\n\n[NPMURL]: https://npmjs.org/package/happy-style \"npm\"\n[NPMIMGURL]: https://img.shields.io/npm/v/happy-style.svg?style=flat\n[BuildStatusURL]: https://github.com/coderaiser/happy-style/actions?query=workflow%3A%22Node+CI%22 \"Build Status\"\n[BuildStatusIMGURL]: https://github.com/coderaiser/happy-style/workflows/Node%20CI/badge.svg\n[LicenseIMGURL]: https://img.shields.io/badge/license-MIT-317BF9.svg?style=flat\n[LicenseURL]: https://tldrlegal.com/license/mit-license \"MIT License\"\n\nCSS to JS AST parser.\n\n## Install\n\n```\nnpm i happy-style --save\n```\n\n## How to use?\n\n### Binary\n\n```\ncat style.css | happy-style\n```\n\nFor full loop use (format detected automatically):\n\n```\ncat style.css | happy-style | happy-style\n```\n\n### Reference\n\nHappy Style converts CSS to a JavaScript AST and back this way:\n\n| CSS                         | Becomes                                                                    |\n|-----------------------------|----------------------------------------------------------------------------|\n| `.button { color: red }`    | `rule(selector([classSelector('button')]), [declaration('color', 'red')])` |\n| `@media (min-width: 100px)` | `mediaQuery([...])`                                                        |\n| `@keyframes anim { ... }`   | `keyframes('anim', [ ... ])`                                               |\n\nThe arguments of `functionValue` are always printed the same way: a single\nspace fills every gap between them, and a comma is an argument of its own, so\n`rgb(255, 0, 0)` is\n`functionValue('rgb', [255, operator(','), 0, operator(','), 0])` while\n`rgb(0 0 0 / 20%)` is\n`functionValue('rgb', [0, 0, 0, operator('/'), percentage(20)])`.\n\n### API\n\n```js\nimport {montag} from 'montag';\nimport {\n    convertCssToJs,\n    convertJsToCss,\n    parseCss,\n    printCss,\n} from 'happy-style';\n\nconst source = montag`\n    .button {\n        color: red;\n    }\n`;\n\nconst js = convertCssToJs(source);\n\n// returns\n`\n[\n    rule(\n        selector([classSelector('button')]),\n        [declaration('color', 'red')],\n    ),\n];\n`;\n\nconvertJsToCss(js);\n// returns\n`\n.button {\n    color: red;\n}\n`;\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}