{"action":"created","issue":{"url":"https://api.github.com/repos/PolymerLabs/shady-css-parser/issues/1","labels_url":"https://api.github.com/repos/PolymerLabs/shady-css-parser/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/PolymerLabs/shady-css-parser/issues/1/comments","events_url":"https://api.github.com/repos/PolymerLabs/shady-css-parser/issues/1/events","html_url":"https://github.com/PolymerLabs/shady-css-parser/pull/1","id":103176919,"number":1,"title":"Initial implementation.","user":{"login":"cdata","id":240083,"avatar_url":"https://avatars.githubusercontent.com/u/240083?v=3","gravatar_id":"","url":"https://api.github.com/users/cdata","html_url":"https://github.com/cdata","followers_url":"https://api.github.com/users/cdata/followers","following_url":"https://api.github.com/users/cdata/following{/other_user}","gists_url":"https://api.github.com/users/cdata/gists{/gist_id}","starred_url":"https://api.github.com/users/cdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdata/subscriptions","organizations_url":"https://api.github.com/users/cdata/orgs","repos_url":"https://api.github.com/users/cdata/repos","events_url":"https://api.github.com/users/cdata/events{/privacy}","received_events_url":"https://api.github.com/users/cdata/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"justinfagnani","id":522948,"avatar_url":"https://avatars.githubusercontent.com/u/522948?v=3","gravatar_id":"","url":"https://api.github.com/users/justinfagnani","html_url":"https://github.com/justinfagnani","followers_url":"https://api.github.com/users/justinfagnani/followers","following_url":"https://api.github.com/users/justinfagnani/following{/other_user}","gists_url":"https://api.github.com/users/justinfagnani/gists{/gist_id}","starred_url":"https://api.github.com/users/justinfagnani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinfagnani/subscriptions","organizations_url":"https://api.github.com/users/justinfagnani/orgs","repos_url":"https://api.github.com/users/justinfagnani/repos","events_url":"https://api.github.com/users/justinfagnani/events{/privacy}","received_events_url":"https://api.github.com/users/justinfagnani/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2015-08-26T05:26:47Z","updated_at":"2015-10-24T00:10:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/PolymerLabs/shady-css-parser/pulls/1","html_url":"https://github.com/PolymerLabs/shady-css-parser/pull/1","diff_url":"https://github.com/PolymerLabs/shady-css-parser/pull/1.diff","patch_url":"https://github.com/PolymerLabs/shady-css-parser/pull/1.patch"},"body":" - Hooks could be implemented as dependency injections; arguments passed to the parser factory could hook into different parsing stages.\r\n - No module system was used, but this was done in the interest of not expressing an opinion.\r\n - As a first pass, there is still some fairly messy implementation in places that could stand to be formalized or cleaned up.\r\n - There is at least one known failure case right now: parsing data url values for properties.\r\n - Along the lines of the above failure case, more thorough parsing should be added for `property` and `at-rule` values.\r\n - The parser doesn't attempt to do any whitespace trimming around most values, but it probably should.\r\n - Demo dependencies are pulled in from Polygit, so no `bower install` is required."},"comment":{"url":"https://api.github.com/repos/PolymerLabs/shady-css-parser/issues/comments/150725641","html_url":"https://github.com/PolymerLabs/shady-css-parser/pull/1#issuecomment-150725641","issue_url":"https://api.github.com/repos/PolymerLabs/shady-css-parser/issues/1","id":150725641,"user":{"login":"samccone","id":883126,"avatar_url":"https://avatars.githubusercontent.com/u/883126?v=3","gravatar_id":"","url":"https://api.github.com/users/samccone","html_url":"https://github.com/samccone","followers_url":"https://api.github.com/users/samccone/followers","following_url":"https://api.github.com/users/samccone/following{/other_user}","gists_url":"https://api.github.com/users/samccone/gists{/gist_id}","starred_url":"https://api.github.com/users/samccone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samccone/subscriptions","organizations_url":"https://api.github.com/users/samccone/orgs","repos_url":"https://api.github.com/users/samccone/repos","events_url":"https://api.github.com/users/samccone/events{/privacy}","received_events_url":"https://api.github.com/users/samccone/received_events","type":"User","site_admin":false},"created_at":"2015-10-24T00:10:13Z","updated_at":"2015-10-24T00:10:13Z","body":"Hypothetically could we start with one of the established OS CSS parsers and go from there? I think deciding to roll our own CSS parser from scratch carries significant risk and also incurs the long term cost of maintenance   \r\n\r\n\r\nTake for instance the approach that babel took, building ontop of established js parsers and tweaking where needed for new syntax (similar to the boat we are in).\r\n\r\nI would love to hear your thoughts around this"}}