{"action":"created","issue":{"url":"https://api.github.com/repos/css/csso/issues/316","repository_url":"https://api.github.com/repos/css/csso","labels_url":"https://api.github.com/repos/css/csso/issues/316/labels{/name}","comments_url":"https://api.github.com/repos/css/csso/issues/316/comments","events_url":"https://api.github.com/repos/css/csso/issues/316/events","html_url":"https://github.com/css/csso/pull/316","id":179920896,"number":316,"title":"Basic \"plugin\" options","user":{"login":"nitriques","id":771169,"avatar_url":"https://avatars.githubusercontent.com/u/771169?v=3","gravatar_id":"","url":"https://api.github.com/users/nitriques","html_url":"https://github.com/nitriques","followers_url":"https://api.github.com/users/nitriques/followers","following_url":"https://api.github.com/users/nitriques/following{/other_user}","gists_url":"https://api.github.com/users/nitriques/gists{/gist_id}","starred_url":"https://api.github.com/users/nitriques/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitriques/subscriptions","organizations_url":"https://api.github.com/users/nitriques/orgs","repos_url":"https://api.github.com/users/nitriques/repos","events_url":"https://api.github.com/users/nitriques/events{/privacy}","received_events_url":"https://api.github.com/users/nitriques/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-09-28T23:58:32Z","updated_at":"2016-09-29T00:31:37Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/css/csso/pulls/316","html_url":"https://github.com/css/csso/pull/316","diff_url":"https://github.com/css/csso/pull/316.diff","patch_url":"https://github.com/css/csso/pull/316.patch"},"body":"When usign the api, it is sometime necessary to act on the ast object\r\nbetween csso operations. Instead of having to deal with options and calls to\r\nparse and compress, this change makes it easy to edit the ast object\r\nafter csso's parse (afterParse) and compress (afterCompress) operation.\r\n\r\nThis is especially good for task runner, which can accept those\r\nparameters to be able to speed task execution.\r\n\r\n---\r\n\r\nThe new for a plugin came in view when I was copy/pasting code from csso or grunt-csso into my grunt task.\r\nThis is the experiment I've made: https://gist.github.com/nitriques/9d3b05c530a54c3a885c6bf41b46dbae\r\n\r\nIt's a re-implementation of [purifycss](https://github.com/purifycss/purifycss) but using async streams and csso instead of sync reads and rework. As per my tests (I've tested it on 4 productions sites) it's 45 times faster. Purify css yields saving of ~5%, while my grunt task saves more that 45% using the same config. Those are big wins.\r\n\r\nI can live with the current experiment I've made, but feel like it would live better as a csso plugin, hence the PR.\r\n\r\n---\r\n\r\nIf you want, I can create the release for you. **All tests (both old and new) are passing.** I would also happy to send a PR to the grunt-csso project too."},"comment":{"url":"https://api.github.com/repos/css/csso/issues/comments/250340006","html_url":"https://github.com/css/csso/pull/316#issuecomment-250340006","issue_url":"https://api.github.com/repos/css/csso/issues/316","id":250340006,"user":{"login":"coveralls","id":2354108,"avatar_url":"https://avatars.githubusercontent.com/u/2354108?v=3","gravatar_id":"","url":"https://api.github.com/users/coveralls","html_url":"https://github.com/coveralls","followers_url":"https://api.github.com/users/coveralls/followers","following_url":"https://api.github.com/users/coveralls/following{/other_user}","gists_url":"https://api.github.com/users/coveralls/gists{/gist_id}","starred_url":"https://api.github.com/users/coveralls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coveralls/subscriptions","organizations_url":"https://api.github.com/users/coveralls/orgs","repos_url":"https://api.github.com/users/coveralls/repos","events_url":"https://api.github.com/users/coveralls/events{/privacy}","received_events_url":"https://api.github.com/users/coveralls/received_events","type":"User","site_admin":false},"created_at":"2016-09-29T00:31:37Z","updated_at":"2016-09-29T00:31:37Z","body":"\n[![Coverage Status](https://coveralls.io/builds/8102407/badge)](https://coveralls.io/builds/8102407)\n\nCoverage increased (+0.008%) to 98.258% when pulling **3eebcc121b9b6b3152f8bb3604808aa06ebcb4ac on DeuxHuitHuit:plugins** into **62bf7207f117e4726decc8f1da272e77ac0f3ea5 on css:master**.\n"}}
{"actor":{"display_login":"coveralls"}}