{"action":"created","issue":{"url":"https://api.github.com/repos/calvinmetcalf/lie/issues/34","repository_url":"https://api.github.com/repos/calvinmetcalf/lie","labels_url":"https://api.github.com/repos/calvinmetcalf/lie/issues/34/labels{/name}","comments_url":"https://api.github.com/repos/calvinmetcalf/lie/issues/34/comments","events_url":"https://api.github.com/repos/calvinmetcalf/lie/issues/34/events","html_url":"https://github.com/calvinmetcalf/lie/pull/34","id":167413720,"number":34,"title":"Do browserify transforms as prepublish","user":{"login":"nolanlawson","id":283842,"avatar_url":"https://avatars.githubusercontent.com/u/283842?v=3","gravatar_id":"","url":"https://api.github.com/users/nolanlawson","html_url":"https://github.com/nolanlawson","followers_url":"https://api.github.com/users/nolanlawson/followers","following_url":"https://api.github.com/users/nolanlawson/following{/other_user}","gists_url":"https://api.github.com/users/nolanlawson/gists{/gist_id}","starred_url":"https://api.github.com/users/nolanlawson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nolanlawson/subscriptions","organizations_url":"https://api.github.com/users/nolanlawson/orgs","repos_url":"https://api.github.com/users/nolanlawson/repos","events_url":"https://api.github.com/users/nolanlawson/events{/privacy}","received_events_url":"https://api.github.com/users/nolanlawson/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2016-07-25T16:51:55Z","updated_at":"2016-07-27T15:59:52Z","closed_at":"2016-07-27T15:58:18Z","pull_request":{"url":"https://api.github.com/repos/calvinmetcalf/lie/pulls/34","html_url":"https://github.com/calvinmetcalf/lie/pull/34","diff_url":"https://github.com/calvinmetcalf/lie/pull/34.diff","patch_url":"https://github.com/calvinmetcalf/lie/pull/34.patch"},"body":"This changes a few things:\r\n\r\n- browserify transforms are now done as a prepublish step using `browerify-transform-cli`\r\n- `lib` moved to `src`, `lib` gitignored\r\n- `\"files\"` added to avoid accidentally publishing anything we don't want published\r\n- `bundle-collapser/plugin` added for even smaller `dist/` builds.\r\n- bumps `immediate` to latest\r\n\r\nThe benefits of doing the transforms as a prepublish rather than browserify transforms are huge. Besides supporting non-Browserify bundlers like Webpack, it also vastly improves the install and build times.\r\n\r\nTo give you an idea, I compared the current version of lie against my [lie-pretransform](https://github.com/nolanlawson/lie-pretransform). When `npm install`ed, `lie` has 46 total dependencies (`ls node_modules | wc -l`), takes 8.9 seconds to install on a Gigabit connection, and puts 6.9MB in node_modules. `lie-pretransform`, on the other hand, has only one total dependency (`immediate`), takes 1.9 seconds, and puts 100kB in node_modules.\r\n\r\nFurthermore, because the transforms don't have to be re-run on the client side over and over again during browserification, projects build faster.  I clocked `browserify node_modules/lie` at **0.874s** and `browserify node_modules/lie-pretransform` at **0.497s**, meaning it builds almost twice as fast.\r\n\r\nLet me know if there's anything I should improve about these changes. I realize it's a big PR to dump all at once, but I really like `lie` and wanted to improve its DX."},"comment":{"url":"https://api.github.com/repos/calvinmetcalf/lie/issues/comments/235632627","html_url":"https://github.com/calvinmetcalf/lie/pull/34#issuecomment-235632627","issue_url":"https://api.github.com/repos/calvinmetcalf/lie/issues/34","id":235632627,"user":{"login":"calvinmetcalf","id":1128607,"avatar_url":"https://avatars.githubusercontent.com/u/1128607?v=3","gravatar_id":"","url":"https://api.github.com/users/calvinmetcalf","html_url":"https://github.com/calvinmetcalf","followers_url":"https://api.github.com/users/calvinmetcalf/followers","following_url":"https://api.github.com/users/calvinmetcalf/following{/other_user}","gists_url":"https://api.github.com/users/calvinmetcalf/gists{/gist_id}","starred_url":"https://api.github.com/users/calvinmetcalf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calvinmetcalf/subscriptions","organizations_url":"https://api.github.com/users/calvinmetcalf/orgs","repos_url":"https://api.github.com/users/calvinmetcalf/repos","events_url":"https://api.github.com/users/calvinmetcalf/events{/privacy}","received_events_url":"https://api.github.com/users/calvinmetcalf/received_events","type":"User","site_admin":false},"created_at":"2016-07-27T15:59:52Z","updated_at":"2016-07-27T15:59:52Z","body":"ok merged, with a few changes, mostly that I need to manually run build, also I switched to copyfiles instead of ncp on the grounds that I wrote it and am vain.  Overall it took me a bit to figure out what you were doing but it looks good once I figured it out.  Take a look and I'll publish as 3.1 latter today"}}
{"actor":{"display_login":"calvinmetcalf"}}