{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/css-layout/issues/105","labels_url":"https://api.github.com/repos/facebook/css-layout/issues/105/labels{/name}","comments_url":"https://api.github.com/repos/facebook/css-layout/issues/105/comments","events_url":"https://api.github.com/repos/facebook/css-layout/issues/105/events","html_url":"https://github.com/facebook/css-layout/pull/105","id":100400858,"number":105,"title":"Added a grunt build process","user":{"login":"ColinEberhardt","id":1098110,"avatar_url":"https://avatars.githubusercontent.com/u/1098110?v=3","gravatar_id":"","url":"https://api.github.com/users/ColinEberhardt","html_url":"https://github.com/ColinEberhardt","followers_url":"https://api.github.com/users/ColinEberhardt/followers","following_url":"https://api.github.com/users/ColinEberhardt/following{/other_user}","gists_url":"https://api.github.com/users/ColinEberhardt/gists{/gist_id}","starred_url":"https://api.github.com/users/ColinEberhardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ColinEberhardt/subscriptions","organizations_url":"https://api.github.com/users/ColinEberhardt/orgs","repos_url":"https://api.github.com/users/ColinEberhardt/repos","events_url":"https://api.github.com/users/ColinEberhardt/events{/privacy}","received_events_url":"https://api.github.com/users/ColinEberhardt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-08-11T20:23:49Z","updated_at":"2015-08-12T06:20:08Z","closed_at":"2015-08-12T06:19:20Z","pull_request":{"url":"https://api.github.com/repos/facebook/css-layout/pulls/105","html_url":"https://github.com/facebook/css-layout/pull/105","diff_url":"https://github.com/facebook/css-layout/pull/105.diff","patch_url":"https://github.com/facebook/css-layout/pull/105.patch"},"body":"Added a more complete build process\r\n\r\nAs part of #101 :\r\n\r\nI've created a more complete build process using Grunt, it performs the following steps:\r\n\r\n + Lints the code via ESLint (the ESLint version was a bit out of date, and had lots of failures, I've done a quick upgrade but have had to turn off quite a few rules in order to make progress)\r\n + Runs the browser tests via Karma. I've added the Karma configuration directly to the gruntfile, this just tidies things up a bit. Also, I've removed the HTML test files, these are a duplication / maintenance issue from my perspective!\r\n + Wraps up `Layout.js` into a universal module (UMD), via a simple grunt task that performs inclusion. This is a bit messy, and doesn't scale well if you ever want to split the code up into smaller sub-modules, but is an improvement on what we currently have.\r\n + Uses uglify to minify the JavaScript.\r\n\r\nThe build output sits in the `dist` folder which is added to git. I'm in two minds about this, typically I'd want to have the build output distributed via npm or a GitHub release, however, this project has transpiled output that is already part of the repo, so this doesn't feel like a pollution.\r\n\r\nOpen question:\r\n + Should the templated / generated C / Java also be moved into dist? This might make it clearer for consumers of this project? e.g. `dist/js`, `dist/java` ...\r\n\r\nFor my next step I want to sort out the build, currently it is part JavaScript / grunt / karma and part make. The Travis build should run everything! \r\n\r\nFixes #102 #103\r\n\r\nOn another note, having the output minified, I can now submit to CDNJS :-)\r\n"},"comment":{"url":"https://api.github.com/repos/facebook/css-layout/issues/comments/130184212","html_url":"https://github.com/facebook/css-layout/pull/105#issuecomment-130184212","issue_url":"https://api.github.com/repos/facebook/css-layout/issues/105","id":130184212,"user":{"login":"ColinEberhardt","id":1098110,"avatar_url":"https://avatars.githubusercontent.com/u/1098110?v=3","gravatar_id":"","url":"https://api.github.com/users/ColinEberhardt","html_url":"https://github.com/ColinEberhardt","followers_url":"https://api.github.com/users/ColinEberhardt/followers","following_url":"https://api.github.com/users/ColinEberhardt/following{/other_user}","gists_url":"https://api.github.com/users/ColinEberhardt/gists{/gist_id}","starred_url":"https://api.github.com/users/ColinEberhardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ColinEberhardt/subscriptions","organizations_url":"https://api.github.com/users/ColinEberhardt/orgs","repos_url":"https://api.github.com/users/ColinEberhardt/repos","events_url":"https://api.github.com/users/ColinEberhardt/events{/privacy}","received_events_url":"https://api.github.com/users/ColinEberhardt/received_events","type":"User","site_admin":false},"created_at":"2015-08-12T06:20:08Z","updated_at":"2015-08-12T06:20:08Z","body":"Thanks, I'm almost done with unifying the Java and C builds into a single grunt build, feels much better :-)"}}