{"_id":"shady-css-parser","_rev":"28-045de8ce32b81e6cc5835ba1bb8574eb","name":"shady-css-parser","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.2":{"name":"shady-css-parser","version":"0.0.2","author":"","license":"http://polymer.github.io/LICENSE.txt","_id":"shady-css-parser@0.0.2","maintainers":[{"name":"cdata","email":"chris@scriptolo.gy"}],"homepage":"https://github.com/PolymerLabs/shady-css-parser#readme","bugs":{"url":"https://github.com/PolymerLabs/shady-css-parser/issues"},"dist":{"shasum":"730a50fedd6628b035f67ce22eb5f4e5e57aa4a4","tarball":"https://registry.npmjs.org/shady-css-parser/-/shady-css-parser-0.0.2.tgz","integrity":"sha512-FsrygttasUtdXxExqJw/UsL5/EV2/HcJnPaUNkyoIJNA98rm/UVe+cEgyLSGZ3fGD612HjK9zt67uwJs3e4NDA==","signatures":[{"sig":"MEUCIFNJ6Vb8KnWwFDO0KE03GroT8Es2oCvejHNXiIRoUnMnAiEAtmHbPxZbXPokGNp6Zq4VudESOIZ2MaqTOTBK2WBu5bA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"730a50fedd6628b035f67ce22eb5f4e5e57aa4a4","gitHead":"918fcd2475e44194d4dedeb9dc594f95f0e40773","scripts":{"test":"gulp test","prepublish":"gulp"},"_npmUser":{"name":"cdata","email":"chris@scriptolo.gy"},"repository":{"url":"git+https://github.com/PolymerLabs/shady-css-parser.git","type":"git"},"_npmVersion":"3.3.12","description":"A fast, small and flexible CSS parser.","directories":["dist"],"_nodeVersion":"5.1.0","devDependencies":{"del":"^1.2.1","chai":"^3.4.0","gulp":"^3.9.0","mocha":"^2.3.3","gulp-size":"^2.0.0","babel-core":"^6.4.0","gulp-babel":"^6.0.0","gulp-mocha":"^2.2.0","gulp-watch":"^4.3.5","gulp-concat":"^2.6.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.2","babel-runtime":"^6.3.19","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.4.0","babel-plugin-transform-es2015-classes":"^6.4.0","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.4.2","babel-plugin-transform-es2015-modules-umd":"^6.4.0","babel-plugin-transform-es2015-block-scoping":"^6.4.0","babel-plugin-transform-es2015-arrow-functions":"^6.4.0","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.4.0","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13"}},"0.0.3":{"name":"shady-css-parser","version":"0.0.3","author":"","license":"http://polymer.github.io/LICENSE.txt","_id":"shady-css-parser@0.0.3","maintainers":[{"name":"cdata","email":"chris@scriptolo.gy"}],"homepage":"https://github.com/PolymerLabs/shady-css-parser#readme","bugs":{"url":"https://github.com/PolymerLabs/shady-css-parser/issues"},"dist":{"shasum":"5a5d32d2f31f92b1c89d067c3c174da980035095","tarball":"https://registry.npmjs.org/shady-css-parser/-/shady-css-parser-0.0.3.tgz","integrity":"sha512-3sqLFAlNzFrQJ4D/3txQnawIwJDewC5PFWnt2kXk8MJwjHvHbzFE3Njxp2gRN2k6mOzhb+5/ASf/a4Dcpec8Cw==","signatures":[{"sig":"MEYCIQCZjlxoCHb7vPXO+6fdQRpws37y+qGt2hKPUt9WAke4WwIhAOOEMZZNgi5eSIhJ87Mtd8R2Na6ry36SWlGgHOd6B9P0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"5a5d32d2f31f92b1c89d067c3c174da980035095","gitHead":"918fcd2475e44194d4dedeb9dc594f95f0e40773","scripts":{"test":"gulp test","prepublish":"gulp"},"_npmUser":{"name":"cdata","email":"chris@scriptolo.gy"},"repository":{"url":"git+https://github.com/PolymerLabs/shady-css-parser.git","type":"git"},"_npmVersion":"3.3.12","description":"A fast, small and flexible CSS parser.","directories":{},"_nodeVersion":"5.1.0","devDependencies":{"del":"^1.2.1","chai":"^3.4.0","gulp":"^3.9.0","mocha":"^2.3.3","gulp-size":"^2.0.0","babel-core":"^6.4.0","gulp-babel":"^6.0.0","gulp-mocha":"^2.2.0","gulp-watch":"^4.3.5","gulp-concat":"^2.6.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.2","babel-runtime":"^6.3.19","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.4.0","babel-plugin-transform-es2015-classes":"^6.4.0","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.4.2","babel-plugin-transform-es2015-modules-umd":"^6.4.0","babel-plugin-transform-es2015-block-scoping":"^6.4.0","babel-plugin-transform-es2015-arrow-functions":"^6.4.0","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.4.0","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13"}},"0.0.4":{"name":"shady-css-parser","version":"0.0.4","author":"","license":"http://polymer.github.io/LICENSE.txt","_id":"shady-css-parser@0.0.4","maintainers":[{"name":"cdata","email":"chris@scriptolo.gy"}],"homepage":"https://github.com/PolymerLabs/shady-css-parser#readme","bugs":{"url":"https://github.com/PolymerLabs/shady-css-parser/issues"},"dist":{"shasum":"c3ccde60c548b7c713819282c2273de4f6240099","tarball":"https://registry.npmjs.org/shady-css-parser/-/shady-css-parser-0.0.4.tgz","integrity":"sha512-WQRSUWELIXLwf++spGlczhAGFk+arTlwlSuZdGtQRoSEN24zlrk0T8FUkoSMlb6NHXC7GKAMfHrHjsl7QmipiA==","signatures":[{"sig":"MEUCIAyxW9ARtMNyPNQGt0PdT8Jyun/OdBtEscRrCgkeJ1Z1AiEAluVNp4BGAd98bxyQAJjsBeS6tnQ/USX3uH12kacHIgo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"c3ccde60c548b7c713819282c2273de4f6240099","gitHead":"918fcd2475e44194d4dedeb9dc594f95f0e40773","scripts":{"test":"gulp test","prepublish":"gulp"},"_npmUser":{"name":"cdata","email":"chris@scriptolo.gy"},"repository":{"url":"git+https://github.com/PolymerLabs/shady-css-parser.git","type":"git"},"_npmVersion":"3.3.12","description":"A fast, small and flexible CSS parser.","directories":{},"_nodeVersion":"5.1.0","devDependencies":{"del":"^1.2.1","chai":"^3.4.0","gulp":"^3.9.0","mocha":"^2.3.3","gulp-size":"^2.0.0","babel-core":"^6.4.0","gulp-babel":"^6.0.0","gulp-mocha":"^2.2.0","gulp-watch":"^4.3.5","gulp-concat":"^2.6.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.2","babel-runtime":"^6.3.19","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.4.0","babel-plugin-transform-es2015-classes":"^6.4.0","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.4.2","babel-plugin-transform-es2015-modules-umd":"^6.4.0","babel-plugin-transform-es2015-block-scoping":"^6.4.0","babel-plugin-transform-es2015-arrow-functions":"^6.4.0","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.4.0","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13"}},"0.0.5":{"name":"shady-css-parser","version":"0.0.5","author":"","license":"http://polymer.github.io/LICENSE.txt","_id":"shady-css-parser@0.0.5","maintainers":[{"name":"cdata","email":"chris@scriptolo.gy"}],"homepage":"https://github.com/PolymerLabs/shady-css-parser#readme","bugs":{"url":"https://github.com/PolymerLabs/shady-css-parser/issues"},"dist":{"shasum":"ac359f3af0254eb9df3fc1f2b9af8d31cfd4fea5","tarball":"https://registry.npmjs.org/shady-css-parser/-/shady-css-parser-0.0.5.tgz","integrity":"sha512-/K8x0NHlC4j3OyCAGGhtcTRbtLhyc8N6VyLOWkkwAmYpWe1PdbsAN3oHcYlUnLoWeXqVPqJj/oXF8e6WwaB78A==","signatures":[{"sig":"MEYCIQCPmWd+ERB6BJqpfB6Z/l7zlQS4mHXUSyjp7zlPGExqmQIhAI5JihcA9ERjdFNOcRrvu5CBNZOkMhLa7xV8IHqk83hW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"ac359f3af0254eb9df3fc1f2b9af8d31cfd4fea5","gitHead":"3ba5202d311c454f51ed5e88ff5c34bd26ce0067","scripts":{"test":"gulp test","prepublish":"gulp"},"_npmUser":{"name":"cdata","email":"chris@scriptolo.gy"},"repository":{"url":"git+https://github.com/PolymerLabs/shady-css-parser.git","type":"git"},"_npmVersion":"3.6.0","description":"A fast, small and flexible CSS parser.","directories":{},"_nodeVersion":"5.6.0","devDependencies":{"del":"^1.2.1","chai":"^3.4.0","gulp":"^3.9.0","mocha":"^2.3.3","gulp-size":"^2.0.0","babel-core":"^6.4.0","gulp-babel":"^6.0.0","gulp-mocha":"^2.2.0","gulp-watch":"^4.3.5","gulp-concat":"^2.6.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.2","babel-runtime":"^6.3.19","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.4.0","babel-plugin-transform-es2015-classes":"^6.4.0","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.4.2","babel-plugin-transform-es2015-modules-umd":"^6.4.0","babel-plugin-transform-es2015-block-scoping":"^6.4.0","babel-plugin-transform-es2015-arrow-functions":"^6.4.0","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.4.0","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13"},"_npmOperationalInternal":{"tmp":"tmp/shady-css-parser-0.0.5.tgz_1459804125730_0.32653471175581217","host":"packages-12-west.internal.npmjs.com"}},"0.0.6":{"name":"shady-css-parser","version":"0.0.6","author":"","license":"http://polymer.github.io/LICENSE.txt","_id":"shady-css-parser@0.0.6","maintainers":[{"name":"cdata","email":"chris@scriptolo.gy"}],"homepage":"https://github.com/PolymerLabs/shady-css-parser#readme","bugs":{"url":"https://github.com/PolymerLabs/shady-css-parser/issues"},"dist":{"shasum":"cff7fd0dd434ad64b4e893628a28d40c1d1ee57c","tarball":"https://registry.npmjs.org/shady-css-parser/-/shady-css-parser-0.0.6.tgz","integrity":"sha512-jIgJwvfOlqPbqI0aPjKjdK6dQxYC50mr6VOG+jQIQyicGRrtODNllmLv560FkAJ5SxXQ+nu8Lc7gOZO8JJl5Iw==","signatures":[{"sig":"MEUCIQDTkvmABRtT2K2Zgd+flRTue8bg1YuhQi4snwQSJIdhiQIgdcMePPgPevdqf3HMyj3icaLdRG405Rd2CWmvY1qmZ5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"cff7fd0dd434ad64b4e893628a28d40c1d1ee57c","gitHead":"d4d8e8fa55ebd041139a2216dd44e2c82157e906","scripts":{"test":"gulp test","prepublish":"gulp"},"_npmUser":{"name":"cdata","email":"chris@scriptolo.gy"},"repository":{"url":"git+https://github.com/PolymerLabs/shady-css-parser.git","type":"git"},"_npmVersion":"3.6.0","description":"A fast, small and flexible CSS parser.","directories":{},"_nodeVersion":"5.6.0","devDependencies":{"del":"^1.2.1","chai":"^3.4.0","gulp":"^3.9.0","mocha":"^2.3.3","gulp-size":"^2.0.0","babel-core":"^6.4.0","gulp-babel":"^6.0.0","gulp-mocha":"^2.2.0","gulp-watch":"^4.3.5","gulp-concat":"^2.6.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.2","babel-runtime":"^6.3.19","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.4.0","babel-plugin-transform-es2015-classes":"^6.4.0","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.4.2","babel-plugin-transform-es2015-modules-umd":"^6.4.0","babel-plugin-transform-es2015-block-scoping":"^6.4.0","babel-plugin-transform-es2015-arrow-functions":"^6.4.0","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.4.0","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13"},"_npmOperationalInternal":{"tmp":"tmp/shady-css-parser-0.0.6.tgz_1459881289117_0.8997425548732281","host":"packages-12-west.internal.npmjs.com"}},"0.0.7":{"name":"shady-css-parser","version":"0.0.7","author":"","license":"BSD-3-Clause","_id":"shady-css-parser@0.0.7","maintainers":[{"name":"cdata","email":"chris@scriptolo.gy"}],"homepage":"https://github.com/PolymerLabs/shady-css-parser#readme","bugs":{"url":"https://github.com/PolymerLabs/shady-css-parser/issues"},"dist":{"shasum":"20323359761ffaf86af3b917137e2e5bc3a6cc48","tarball":"https://registry.npmjs.org/shady-css-parser/-/shady-css-parser-0.0.7.tgz","integrity":"sha512-r/40hMnDmBQY6zpnH/GL+suC9JSiZvpmuoZellWVhb03URT1d4F7SGAnh65oqYAXHegm4/Jc8IB5EAW/k95SxQ==","signatures":[{"sig":"MEUCIDIcKoHPhf1knTCnvwyPwMCeOnIBCGF+vJDlFWpa7AmSAiEAoSUWXCnInc+D9TOaco6R0HrcInroO53NOU9v95GfMVk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"20323359761ffaf86af3b917137e2e5bc3a6cc48","gitHead":"208bfc94d52a8e0aaa9cf85e50a8d7dd3ee7c593","scripts":{"test":"gulp test","prepublish":"gulp"},"_npmUser":{"name":"cdata","email":"chris@scriptolo.gy"},"repository":{"url":"git+https://github.com/PolymerLabs/shady-css-parser.git","type":"git"},"_npmVersion":"3.6.0","description":"A fast, small and flexible CSS parser.","directories":{},"_nodeVersion":"5.6.0","devDependencies":{"del":"^1.2.1","chai":"^3.4.0","gulp":"^3.9.0","mocha":"^2.3.3","gulp-size":"^2.0.0","babel-core":"^6.4.0","gulp-babel":"^6.0.0","gulp-mocha":"^2.2.0","gulp-watch":"^4.3.5","gulp-concat":"^2.6.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.2","babel-runtime":"^6.3.19","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.4.0","babel-plugin-transform-es2015-classes":"^6.4.0","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.4.2","babel-plugin-transform-es2015-modules-umd":"^6.4.0","babel-plugin-transform-es2015-block-scoping":"^6.4.0","babel-plugin-transform-es2015-arrow-functions":"^6.4.0","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.4.0","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13"},"_npmOperationalInternal":{"tmp":"tmp/shady-css-parser-0.0.7.tgz_1461879582891_0.1872443298343569","host":"packages-16-east.internal.npmjs.com"}},"0.0.8":{"name":"shady-css-parser","version":"0.0.8","author":"","license":"BSD-3-Clause","_id":"shady-css-parser@0.0.8","maintainers":[{"name":"cdata","email":"chris@scriptolo.gy"}],"homepage":"https://github.com/PolymerLabs/shady-css-parser#readme","bugs":{"url":"https://github.com/PolymerLabs/shady-css-parser/issues"},"dist":{"shasum":"01eec5a6b9ec8e47edbda91b44dfe591279ea0d1","tarball":"https://registry.npmjs.org/shady-css-parser/-/shady-css-parser-0.0.8.tgz","integrity":"sha512-+/6ObnK06pnxZN66YNf9PyHKwJhkkQXLfq1PbIz0UMsHc8oIyK13tYDjV0Sw3tni1QVZWbG6TdfdlAN6fpF+eg==","signatures":[{"sig":"MEYCIQDGNLVs5OCabHAu8euurep79EIAqY635GmzAPn3Ae/3WwIhAK/NbUmoPet4Z59Ra6+SUl6pGlFEyw8XRqvagzc3eRps","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"01eec5a6b9ec8e47edbda91b44dfe591279ea0d1","gitHead":"5cab41fcbbc1d096011924c7c3314390f8d5ac4b","scripts":{"test":"gulp test","prepublish":"gulp"},"_npmUser":{"name":"cdata","email":"chris@scriptolo.gy"},"repository":{"url":"git+https://github.com/PolymerLabs/shady-css-parser.git","type":"git"},"_npmVersion":"3.8.6","description":"A fast, small and flexible CSS parser.","directories":{},"_nodeVersion":"6.0.0","devDependencies":{"del":"^1.2.1","chai":"^3.4.0","gulp":"^3.9.0","mocha":"^2.3.3","gulp-size":"^2.0.0","babel-core":"^6.4.0","gulp-babel":"^6.0.0","gulp-mocha":"^2.2.0","gulp-watch":"^4.3.5","gulp-concat":"^2.6.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.2","babel-runtime":"^6.3.19","babel-plugin-check-es2015-constants":"^6.3.13","babel-plugin-transform-es2015-spread":"^6.4.0","babel-plugin-transform-es2015-classes":"^6.4.0","babel-plugin-transform-es2015-literals":"^6.3.13","babel-plugin-transform-es2015-parameters":"^6.4.2","babel-plugin-transform-es2015-modules-umd":"^6.4.0","babel-plugin-transform-es2015-block-scoping":"^6.4.0","babel-plugin-transform-es2015-arrow-functions":"^6.4.0","babel-plugin-transform-es2015-template-literals":"^6.3.13","babel-plugin-transform-es2015-computed-properties":"^6.4.0","babel-plugin-transform-es2015-shorthand-properties":"^6.3.13"},"_npmOperationalInternal":{"tmp":"tmp/shady-css-parser-0.0.8.tgz_1464202883725_0.888211015611887","host":"packages-12-west.internal.npmjs.com"}},"0.1.0":{"name":"shady-css-parser","version":"0.1.0","author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","_id":"shady-css-parser@0.1.0","maintainers":[{"name":"polymer","email":"admin@polymer-project.org"},{"name":"cdata","email":"chris@scriptolo.gy"}],"homepage":"https://github.com/PolymerLabs/shady-css-parser#readme","bugs":{"url":"https://github.com/PolymerLabs/shady-css-parser/issues"},"dist":{"shasum":"534dc79c8ca5884c5ed92a4e5a13d6d863bca428","tarball":"https://registry.npmjs.org/shady-css-parser/-/shady-css-parser-0.1.0.tgz","integrity":"sha512-irfJUUkEuDlNHKZNAp2r7zOyMlmbfVJ+kWSfjlCYYUx/7dJnANLCyTzQZsuxy5NJkvtNwSxY5Gj8MOlqXUQPyA==","signatures":[{"sig":"MEUCIQCf3jwEpADhM9my75U9CWrc4tecIIWK7Bm7B2Y2REN+igIgdAdlIFq0ueNN4WC6sIpdIYcS2TWGqYs6ucpsZd0m5lU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh263cCRA9TVsSAnZWagAAK3AP/0+oz3fDXISRPVvqu67L\nO8AzygzZg+9hIDwDrLMEl+P3TUVZXIuvZMVAQlYkLsSW5DdV+2C6pBFZEiJ/\n1o4sndJLxPbP2OcKRWgw+OMQCPQwPtRoEZhbXJh8iTYtlNpb78Nk8xpWgZDa\nnHyXPNs0Ih44QxPo31GHto+/PbX+LaF9tFMBX5pQ6ixu95y95GFwLKOg6qI6\nmSCMoRj7oCvP7QN41VPOo9R7OwbkqpTg6tvkUlRN4pnzDbbuCXncjy5uzGXA\ndJErLrGeDPtUWdXw1YOCEfAUEUUjXmrUGXvyjtXw9ZBFs5V6Bnb3pdWjeN5z\ne4jWwf3n4y4XVg5VqmAt377X3j4L7+XDnbhVRx6TMQMPboAWJDjyByds26Wr\n79d9Z02Z5sI5vsi69wBh/1Rw73ksv8d4V4QxnXiRQcOJ+0p5RI4ZeCHZAkIK\nl0yJ0pTbA1E5sLDj3ST264EbCL4AQSvFgzWs7RLsTu/NF/knlZmof3RrXgSO\nV+CAK1MPoS+Q+viimf0frWpOaRa9YR/d071PT4VyE7TeKWWeuZqfQ6wmzDBB\nUoRFlshgSfKUZ2x9Y3cXQrvN2WNjkqoy0uVzsL4QKfYMzj803t9VRb9xwIRI\ngHanTttwGylf8SdYZuuAYF+3LIOQqJCjGLzicJhz8N9NhduL4+ULXGpYaUGF\nnp15\r\n=oCrk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/shady-css.js","gitHead":"f40c9078a287aaf0c2cb8198d3f4ba1e143fa8a5","scripts":{"lint":"tslint -p ./","test":"npm run build && mocha --require source-map-support/register dist/test/*.js","build":"tsc","format":"find src | grep '\\.js$\\|\\.ts$' | xargs clang-format --style=file -i","test:watch":"watchy -w src/ -- npm test --loglevel=silent","test:sloppy":"tsc || echo '' && mocha --require source-map-support/register dist/test/*.js","prepublishOnly":"npm run build"},"typings":"dist/shady-css.d.ts","_npmUser":{"name":"polymer","email":"admin@polymer-project.org"},"repository":{"url":"git+https://github.com/PolymerLabs/shady-css-parser.git","type":"git"},"_npmVersion":"5.3.0","description":"A fast, small and flexible CSS parser.","directories":{},"_nodeVersion":"8.0.0","devDependencies":{"chai":"^4.1.0","mocha":"^3.0.0","tslint":"^5.5.0","watchy":"^0.6.7","typescript":"^2.4.1","@types/chai":"^4.0.1","@types/node":"^8.0.13","chai-subset":"^1.5.0","@types/mocha":"^2.2.39","clang-format":"^1.0.53","@types/chai-subset":"^1.3.0","source-map-support":"^0.4.15"},"_npmOperationalInternal":{"tmp":"tmp/shady-css-parser-0.1.0.tgz_1500505531175_0.5123424143530428","host":"s3://npm-registry-packages"}}},"time":{"created":"2016-01-20T23:45:02.311Z","modified":"2024-10-07T21:27:18.416Z","0.0.1":"2016-01-20T23:45:02.311Z","0.0.2":"2016-01-20T23:51:25.099Z","0.0.3":"2016-01-20T23:54:09.666Z","0.0.4":"2016-01-20T23:56:19.335Z","0.0.5":"2016-04-04T21:08:48.087Z","0.0.6":"2016-04-05T18:34:51.812Z","0.0.7":"2016-04-28T21:39:43.730Z","0.0.8":"2016-05-25T19:01:26.343Z","0.1.0":"2017-07-19T23:05:33.793Z"},"bugs":{"url":"https://github.com/PolymerLabs/shady-css-parser/issues"},"author":{"name":"The Polymer Authors"},"license":"BSD-3-Clause","homepage":"https://github.com/PolymerLabs/shady-css-parser#readme","repository":{"url":"git+https://github.com/PolymerLabs/shady-css-parser.git","type":"git"},"description":"A fast, small and flexible CSS parser.","maintainers":[{"email":"rictic@gmail.com","name":"rictic"},{"email":"aomarks@gmail.com","name":"aomarks"},{"email":"emarquez@google.com","name":"emarquez"},{"email":"sorvell@google.com","name":"sorvell"},{"email":"bicknellr@gmail.com","name":"bicknellr"},{"email":"brendan@usergenic.com","name":"usergenic"},{"email":"admin@polymer-project.org","name":"polymer-devs"},{"email":"dfreedm2@gmail.com","name":"azakus"},{"email":"kevinpschaaf@gmail.com","name":"kevinpschaaf"},{"email":"justin@fagnani.com","name":"justinfagnani"},{"email":"chris@scriptolo.gy","name":"cdata"}],"readme":"## Shady CSS Parser\n\nThe motivation for Shady CSS Parser is to provide a fast, small and flexible\nCSS parser suitable for facilitating runtime parsing and transformation of CSS.\nThe Polymer library and the Polymer Designer tool are both example cases where\nfast and flexible CSS parsing and transformation is a critical feature.\n\n### Goals\n\n -  Feasibility of being used in conjunction with Polymer or Polymer\nDesigner.\n -  Parse CSS loosely and flexibly. This parser is not spec-compliant, however\n it will parse all spec-compliant CSS.\n -  Parse CSS quickly and efficiently. This parser is a suitable tool to aide in\n the design and implementation of runtime transformations.\n -  Graceful error recovery. Malformed CSS will be parsed by this\nparser as closely as possible to the way a browser would parse it.\n\n### Installing\n\nWith `node` and `npm` installed, run the following command:\n\n```sh\nnpm install shady-css-parser\n```\n\n### Building\n\nRun the following commands from the project root:\n\n```sh\nnpm run build\n```\n\nThis will create a `dist` directory containing distributable artifacts.\n\n### Usage\n\n#### Basic parsing\n\n```js\nimport * as shadyCss from 'shady-css-parser';\nconst css = 'body { color: red; }';\nconst parser = new shadyCss.Parser();\nconst ast = parser.parse(css);\n```\n\n#### Custom parsing\n\n```js\n/* Step 1: Inherit from NodeFactory */\nclass CustomNodeFactory extends shadyCss.NodeFactory {\n\n  /*\n   * Step 2: Implement a custom node factory method. Here we override the\n   *   default factory for Expression nodes\n   */\n  expression(text) {\n    if (/^darken\\(/.test(text)) {\n      return {\n        type: 'darkenExpression',\n        color: text.replace(/^darken\\(/, '').replace(/\\)$/, ''),\n      };\n    } else {\n      return super.expression.apply(this, arguments);\n    }\n  }\n}\n\nconst css = 'body { color: darken(red); }';\n/* Step 3: Instantiate a Parser with an instance of the specialized\n * CustomNodeFactory */\nconst parser = new shadyCss.Parser(new CustomNodeFactory());\nconst ast = parser.parse(css);\n```\n\n#### Basic stringification\n\n```js\nconst stringifier = new shadyCss.Stringifier();\nstringifier.stringify(ast);\n```\n\nNote: the built-in Parser and Stringifier discard most insignficiant whitespace\nfrom parsed CSS.\n\n#### Custom stringification\n\n```js\n/* Step 1: Inherit from Stringifier. */\nclass CustomStringifier extends shadyCss.Stringifier {\n\n  /**\n  * Step 2: Implement a stringification method named after the type of the node\n  * you are interested in stringifying. In this case, we are implementing\n  * stringification for the Darken Expression nodes we implemented parsing for\n  * above.\n  */\n  darkenExpression(darkenExpression) {\n    // For the sake of brevity, please assume that the darken function returns\n    // a darker version of the color parameter:\n    return darken(darkenExpression.color);\n  }\n}\n\n/* Step 3: Use the custom stringifer: */\nconst stringifier = new CustomStringifier();\nconst css = stringifier.stringify(ast);\n```\n\n### Example ASTs\n\n#### Custom property declaration\n\n```css\n.container {\n  --nog: blue;\n}\n```\n```js\n{\n  \"type\": 1, /* stylesheet */\n  \"rules\": [\n    {\n      \"type\": 4, /* ruleset */\n      \"selector\": \".container\",\n      \"rulelist\": {\n        \"type\": 7, /* rulelist */\n        \"rules\": [\n          {\n            \"type\": 6, /* declaration */\n            \"name\": \"--nog\",\n            \"value\": {\n              \"type\": 5, /* expression */\n              \"text\": \"blue\"\n            }\n          }\n        ]\n      }\n    }\n  ]\n}\n```\n\n#### Mixin declaration\n\n```css\nruleset {\n  --mixin-name: {\n    /* rules */\n  };\n}\n```\n```js\n{\n  \"type\": 1, /* stylesheet */\n  \"rules\": [\n    {\n      \"type\": 4, /* ruleset */\n      \"selector\": \"ruleset\",\n      \"rulelist\": {\n        \"type\": 7, /* rulelist */\n        \"rules\": [\n          {\n            \"type\": 6, /* declaration */\n            \"name\": \"--mixin-name\",\n            \"value\": {\n              \"type\": 7, /* rulelist */\n              \"rules\": [\n                {\n                  \"type\": 2, /* comment */\n                  \"value\": \"\\/* rules *\\/\"\n                }\n              ]\n            }\n          }\n        ]\n      }\n    }\n  ]\n}\n```\n\n#### Mixin application\n\n```css\n.title {\n  @apply(--my-toolbar-title-theme);\n}\n```\n```js\n{\n  \"type\": 1, /* stylesheet */\n  \"rules\": [\n    {\n      \"type\": 4, /* ruleset */\n      \"selector\": \".title\",\n      \"rulelist\": {\n        \"type\": 7, /* rulelist */\n        \"rules\": [\n          {\n            \"type\": 3, /* at rule */\n            \"name\": \"apply\",\n            \"parameters\": \"(--my-toolbar-title-theme)\",\n            \"rulelist\": null\n          }\n        ]\n      }\n    }\n  ]\n}\n```\n\n#### Pathological comments\n\n```css\n/* unclosed\n@fiz {\n  --huk: {\n    /* buz */\n    baz: lur;\n  };\n}\n```\n```js\n{\n  \"type\": 1, /* stylesheet */\n  \"rules\": [\n    {\n      \"type\": 2, /* comment */\n      \"value\": \"\\/* unclosed\\n@fiz {\\n  --huk: {\\n    \\/* buz *\\/\"\n    },\n    {\n      \"type\": 6, /* declaration */\n      \"name\": \"baz\",\n      \"value\": {\n        \"type\": 5, /* expression */\n        \"text\": \"lur\"\n      }\n    },\n    {\n      \"type\": 8, /* discarded */\n      \"text\": \"};\\n\"\n    },\n    {\n      \"type\": 8, /* discarded */\n      \"text\": \"}\"\n    }\n  ]\n}\n```\n\n### Example stringification\n\n#### Basic ruleset\n\n```css\n/* before */\nbody {\n  margin: 0;\n  padding: 0px\n}\n```\n```css\n/* after */\nbody{margin:0;padding:0px;}\n```\n\n#### At rules\n\n```css\n/* before */\n@import url('foo.css');\n\n@font-face {\n  font-family: foo;\n}\n\n@charset 'foo';\n```\n```css\n/* after */\n@import url('foo.css');@font-face{font-family:foo;}@charset 'foo';\n```\n\n#### Custom properties\n\n```css\n/* before */\n:root {\n  --qux: vim;\n  --foo: {\n    bar: baz;\n  };\n}\n\n#target {\n  gak: var(--qux);\n  @apply(--foo);\n}\n```\n```css\n/* after */\n:root{--qux:vim;--foo:{bar:baz;};}#target{gak:var(--qux);@apply (--foo);}\n```\n","readmeFilename":"README.md"}