{"action":"created","comment":{"url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/comments/77574567","id":77574567,"diff_hunk":"@@ -40,52 +41,58 @@ module.exports = yeoman.Base.extend({\n \n       gems: _(this.gems).concat(\n         \"gem 'pg', '~> 0.18'\",\n-        \"gem 'puma'\",\n-        \"gem 'rack-cors'\"\n+        \"gem 'puma', '~> 3.0'\"\n       ).sortBy().join('\\n'),\n \n       generatorVersion: this.fs.readJSON(require.resolve('../../package.json')).version,\n \n-      test_gems: _(this.testGems).concat(\n-        \"gem 'byebug', platform: :mri\"\n-      ).sortBy().join('\\n  ')\n+      testGems: _(this.testGems).concat(\n+        \"gem 'byebug', platform: :mri\",\n+        \"gem 'dotenv'\"\n+      ).sortBy().join('\\n  '),\n+\n+      _: _ //lodash\n     };\n   },\n \n   writing: function () {\n-    var from = this.templatePath('.');\n-    var to = this.destinationPath('.');\n-\n-    this.fs.copyTpl(from, to, _.merge(this.templateVars, { _: _ }));\n-\n-    // copyTpl seems to mess with binary files (which is understandable)\n-    this.fs.copy(\n-      this.templatePath('app/client/assets/foo-asset.png'),\n-      this.destinationPath('app/client/assets/foo-asset.png')\n-    );\n-\n-    // See https://github.com/npm/npm/issues/7252 for why this is needed\n-    for (let file of fs.readdirSync(this.templatePath())) {\n-      if (file.charAt(0) === '_') {\n-        this.fs.move(\n-          this.destinationPath(file),\n-          this.destinationPath(`.${file.substr(1)}`)\n-        );\n-      }\n+    var files = glob.sync('**', {\n+      cwd: this.sourceRoot(),\n+      dot: true\n+    });\n+\n+    files.forEach(function (file) {\n+      this.fs.copyTpl(\n+        this.templatePath(file),\n+        this.destinationPath(file),\n+        this.templateVars\n+      );\n+    }.bind(this));\n+\n+    if (this.envFile) {\n+      this.fs.write(this.destinationPath('shared/.env'), this.envFile);\n+    } else {\n+      this.fs.copyTpl(\n+        this.templatePath('shared/.env'),\n+        this.destinationPath('shared/.env'),\n+        this.templateVars\n+      );\n     }\n+\n     this.config.save();\n   },\n \n   install: function() {\n-    this.composeWith('prelude:setup', {}, { local: require.resolve('../setup') });\n+    this.spawnCommand('chmod', ['+x', 'bin/setup'], { cwd: this.destinationPath() });\n+    this.spawnCommand('chmod', ['+x', 'bin/start'], { cwd: this.destinationPath() });","path":"generators/app/index.js","position":80,"original_position":80,"commit_id":"1edd6c39f32019e8a416b58f72f14c5ce01ce45e","original_commit_id":"1edd6c39f32019e8a416b58f72f14c5ce01ce45e","user":{"login":"mateusmedeiros","id":3318372,"avatar_url":"https://avatars.githubusercontent.com/u/3318372?v=3","gravatar_id":"","url":"https://api.github.com/users/mateusmedeiros","html_url":"https://github.com/mateusmedeiros","followers_url":"https://api.github.com/users/mateusmedeiros/followers","following_url":"https://api.github.com/users/mateusmedeiros/following{/other_user}","gists_url":"https://api.github.com/users/mateusmedeiros/gists{/gist_id}","starred_url":"https://api.github.com/users/mateusmedeiros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mateusmedeiros/subscriptions","organizations_url":"https://api.github.com/users/mateusmedeiros/orgs","repos_url":"https://api.github.com/users/mateusmedeiros/repos","events_url":"https://api.github.com/users/mateusmedeiros/events{/privacy}","received_events_url":"https://api.github.com/users/mateusmedeiros/received_events","type":"User","site_admin":false},"body":"This won't work on windows (do we really wanna throw Windows compatibility outside the window just for that?)","created_at":"2016-09-06T05:17:20Z","updated_at":"2016-09-06T05:17:20Z","html_url":"https://github.com/mateusmedeiros/generator-prelude/pull/1#discussion_r77574567","pull_request_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/comments/77574567"},"html":{"href":"https://github.com/mateusmedeiros/generator-prelude/pull/1#discussion_r77574567"},"pull_request":{"href":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/1","id":84056188,"html_url":"https://github.com/mateusmedeiros/generator-prelude/pull/1","diff_url":"https://github.com/mateusmedeiros/generator-prelude/pull/1.diff","patch_url":"https://github.com/mateusmedeiros/generator-prelude/pull/1.patch","issue_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/issues/1","number":1,"state":"open","locked":false,"title":"[PROPOSAL][WIP] Turn client a first class citizen","user":{"login":"mpivaa","id":2096216,"avatar_url":"https://avatars.githubusercontent.com/u/2096216?v=3","gravatar_id":"","url":"https://api.github.com/users/mpivaa","html_url":"https://github.com/mpivaa","followers_url":"https://api.github.com/users/mpivaa/followers","following_url":"https://api.github.com/users/mpivaa/following{/other_user}","gists_url":"https://api.github.com/users/mpivaa/gists{/gist_id}","starred_url":"https://api.github.com/users/mpivaa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpivaa/subscriptions","organizations_url":"https://api.github.com/users/mpivaa/orgs","repos_url":"https://api.github.com/users/mpivaa/repos","events_url":"https://api.github.com/users/mpivaa/events{/privacy}","received_events_url":"https://api.github.com/users/mpivaa/received_events","type":"User","site_admin":false},"body":"# Major changes\r\n\r\n- Client becomes a first class app with your own directory: With rails-api client should be decoupled from server\r\n- Add css-modules as default\r\n\r\n# Minor changes\r\n\r\n- Add action-cable support\r\n- Add some defaults gems to prompt\r\n- Create component and container generators\r\n- Add redux-saga as default\r\n- Make kebab-case as default file naming (discuss further with the team, I've thought a lot about it and still have my doubts)\r\n- Fix some .(dot) problem with templates\r\n- Add some loaders\r\n- Re-structured some configs\r\n- Updated rails-api\r\n- Enable active_view (discuss further, maybe it's useful for mail)\r\n- Add minitest as rails default (should become a prompt in the future(or not))\r\n- Add some initial test on js (need more care)\r\n\r\n# TODO\r\n- Add test to component and container generator\r\n- Parse WEBPACK_DEV_SERVER_URL on webpack config\r\n- Start webpack-dev-server from server.js\r\n- Discuss about i18n (maybe a unopinated gettext is the way to go)\r\n","created_at":"2016-09-06T03:37:36Z","updated_at":"2016-09-06T05:17:20Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cb1c67ba619c33276206b3ee21316b584d5bcf10","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/1/commits","review_comments_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/1/comments","review_comment_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/issues/1/comments","statuses_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/statuses/1edd6c39f32019e8a416b58f72f14c5ce01ce45e","head":{"label":"ecostage:structure-proposal","ref":"structure-proposal","sha":"1edd6c39f32019e8a416b58f72f14c5ce01ce45e","user":{"login":"ecostage","id":14081570,"avatar_url":"https://avatars.githubusercontent.com/u/14081570?v=3","gravatar_id":"","url":"https://api.github.com/users/ecostage","html_url":"https://github.com/ecostage","followers_url":"https://api.github.com/users/ecostage/followers","following_url":"https://api.github.com/users/ecostage/following{/other_user}","gists_url":"https://api.github.com/users/ecostage/gists{/gist_id}","starred_url":"https://api.github.com/users/ecostage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ecostage/subscriptions","organizations_url":"https://api.github.com/users/ecostage/orgs","repos_url":"https://api.github.com/users/ecostage/repos","events_url":"https://api.github.com/users/ecostage/events{/privacy}","received_events_url":"https://api.github.com/users/ecostage/received_events","type":"Organization","site_admin":false},"repo":{"id":66524803,"name":"generator-prelude","full_name":"ecostage/generator-prelude","owner":{"login":"ecostage","id":14081570,"avatar_url":"https://avatars.githubusercontent.com/u/14081570?v=3","gravatar_id":"","url":"https://api.github.com/users/ecostage","html_url":"https://github.com/ecostage","followers_url":"https://api.github.com/users/ecostage/followers","following_url":"https://api.github.com/users/ecostage/following{/other_user}","gists_url":"https://api.github.com/users/ecostage/gists{/gist_id}","starred_url":"https://api.github.com/users/ecostage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ecostage/subscriptions","organizations_url":"https://api.github.com/users/ecostage/orgs","repos_url":"https://api.github.com/users/ecostage/repos","events_url":"https://api.github.com/users/ecostage/events{/privacy}","received_events_url":"https://api.github.com/users/ecostage/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ecostage/generator-prelude","description":"Prelude is an yeoman generator that generates a Rails 5 API-only application with React, Redux, React Redux, React Router and some other stuff all tied nicely by webpack for a webpack + babel all-the-way workflow and a small express server/app to serve an index.html file.","fork":true,"url":"https://api.github.com/repos/ecostage/generator-prelude","forks_url":"https://api.github.com/repos/ecostage/generator-prelude/forks","keys_url":"https://api.github.com/repos/ecostage/generator-prelude/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ecostage/generator-prelude/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ecostage/generator-prelude/teams","hooks_url":"https://api.github.com/repos/ecostage/generator-prelude/hooks","issue_events_url":"https://api.github.com/repos/ecostage/generator-prelude/issues/events{/number}","events_url":"https://api.github.com/repos/ecostage/generator-prelude/events","assignees_url":"https://api.github.com/repos/ecostage/generator-prelude/assignees{/user}","branches_url":"https://api.github.com/repos/ecostage/generator-prelude/branches{/branch}","tags_url":"https://api.github.com/repos/ecostage/generator-prelude/tags","blobs_url":"https://api.github.com/repos/ecostage/generator-prelude/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ecostage/generator-prelude/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ecostage/generator-prelude/git/refs{/sha}","trees_url":"https://api.github.com/repos/ecostage/generator-prelude/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ecostage/generator-prelude/statuses/{sha}","languages_url":"https://api.github.com/repos/ecostage/generator-prelude/languages","stargazers_url":"https://api.github.com/repos/ecostage/generator-prelude/stargazers","contributors_url":"https://api.github.com/repos/ecostage/generator-prelude/contributors","subscribers_url":"https://api.github.com/repos/ecostage/generator-prelude/subscribers","subscription_url":"https://api.github.com/repos/ecostage/generator-prelude/subscription","commits_url":"https://api.github.com/repos/ecostage/generator-prelude/commits{/sha}","git_commits_url":"https://api.github.com/repos/ecostage/generator-prelude/git/commits{/sha}","comments_url":"https://api.github.com/repos/ecostage/generator-prelude/comments{/number}","issue_comment_url":"https://api.github.com/repos/ecostage/generator-prelude/issues/comments{/number}","contents_url":"https://api.github.com/repos/ecostage/generator-prelude/contents/{+path}","compare_url":"https://api.github.com/repos/ecostage/generator-prelude/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ecostage/generator-prelude/merges","archive_url":"https://api.github.com/repos/ecostage/generator-prelude/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ecostage/generator-prelude/downloads","issues_url":"https://api.github.com/repos/ecostage/generator-prelude/issues{/number}","pulls_url":"https://api.github.com/repos/ecostage/generator-prelude/pulls{/number}","milestones_url":"https://api.github.com/repos/ecostage/generator-prelude/milestones{/number}","notifications_url":"https://api.github.com/repos/ecostage/generator-prelude/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ecostage/generator-prelude/labels{/name}","releases_url":"https://api.github.com/repos/ecostage/generator-prelude/releases{/id}","deployments_url":"https://api.github.com/repos/ecostage/generator-prelude/deployments","created_at":"2016-08-25T04:31:27Z","updated_at":"2016-08-25T04:31:45Z","pushed_at":"2016-09-06T04:06:56Z","git_url":"git://github.com/ecostage/generator-prelude.git","ssh_url":"git@github.com:ecostage/generator-prelude.git","clone_url":"https://github.com/ecostage/generator-prelude.git","svn_url":"https://github.com/ecostage/generator-prelude","homepage":null,"size":1572,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"mateusmedeiros:master","ref":"master","sha":"9a147e4b8ade693c27afba1d1ee947701f2ff8cc","user":{"login":"mateusmedeiros","id":3318372,"avatar_url":"https://avatars.githubusercontent.com/u/3318372?v=3","gravatar_id":"","url":"https://api.github.com/users/mateusmedeiros","html_url":"https://github.com/mateusmedeiros","followers_url":"https://api.github.com/users/mateusmedeiros/followers","following_url":"https://api.github.com/users/mateusmedeiros/following{/other_user}","gists_url":"https://api.github.com/users/mateusmedeiros/gists{/gist_id}","starred_url":"https://api.github.com/users/mateusmedeiros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mateusmedeiros/subscriptions","organizations_url":"https://api.github.com/users/mateusmedeiros/orgs","repos_url":"https://api.github.com/users/mateusmedeiros/repos","events_url":"https://api.github.com/users/mateusmedeiros/events{/privacy}","received_events_url":"https://api.github.com/users/mateusmedeiros/received_events","type":"User","site_admin":false},"repo":{"id":65920174,"name":"generator-prelude","full_name":"mateusmedeiros/generator-prelude","owner":{"login":"mateusmedeiros","id":3318372,"avatar_url":"https://avatars.githubusercontent.com/u/3318372?v=3","gravatar_id":"","url":"https://api.github.com/users/mateusmedeiros","html_url":"https://github.com/mateusmedeiros","followers_url":"https://api.github.com/users/mateusmedeiros/followers","following_url":"https://api.github.com/users/mateusmedeiros/following{/other_user}","gists_url":"https://api.github.com/users/mateusmedeiros/gists{/gist_id}","starred_url":"https://api.github.com/users/mateusmedeiros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mateusmedeiros/subscriptions","organizations_url":"https://api.github.com/users/mateusmedeiros/orgs","repos_url":"https://api.github.com/users/mateusmedeiros/repos","events_url":"https://api.github.com/users/mateusmedeiros/events{/privacy}","received_events_url":"https://api.github.com/users/mateusmedeiros/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mateusmedeiros/generator-prelude","description":"Prelude is an yeoman generator that generates a Rails 5 API-only application with React, Redux, React Redux, React Router and some other stuff all tied nicely by webpack for a webpack + babel all-the-way workflow and a small express server/app to serve an index.html file.","fork":false,"url":"https://api.github.com/repos/mateusmedeiros/generator-prelude","forks_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/forks","keys_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/teams","hooks_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/hooks","issue_events_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/issues/events{/number}","events_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/events","assignees_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/assignees{/user}","branches_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/branches{/branch}","tags_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/tags","blobs_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/git/refs{/sha}","trees_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/statuses/{sha}","languages_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/languages","stargazers_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/stargazers","contributors_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/contributors","subscribers_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/subscribers","subscription_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/subscription","commits_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/commits{/sha}","git_commits_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/git/commits{/sha}","comments_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/comments{/number}","issue_comment_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/issues/comments{/number}","contents_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/contents/{+path}","compare_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/merges","archive_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/downloads","issues_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/issues{/number}","pulls_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls{/number}","milestones_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/milestones{/number}","notifications_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/labels{/name}","releases_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/releases{/id}","deployments_url":"https://api.github.com/repos/mateusmedeiros/generator-prelude/deployments","created_at":"2016-08-17T15:40:46Z","updated_at":"2016-09-05T21:19:00Z","pushed_at":"2016-09-06T04:06:56Z","git_url":"git://github.com/mateusmedeiros/generator-prelude.git","ssh_url":"git@github.com:mateusmedeiros/generator-prelude.git","clone_url":"https://github.com/mateusmedeiros/generator-prelude.git","svn_url":"https://github.com/mateusmedeiros/generator-prelude","homepage":null,"size":1567,"stargazers_count":5,"watchers_count":5,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/1"},"html":{"href":"https://github.com/mateusmedeiros/generator-prelude/pull/1"},"issue":{"href":"https://api.github.com/repos/mateusmedeiros/generator-prelude/issues/1"},"comments":{"href":"https://api.github.com/repos/mateusmedeiros/generator-prelude/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mateusmedeiros/generator-prelude/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/mateusmedeiros/generator-prelude/statuses/1edd6c39f32019e8a416b58f72f14c5ce01ce45e"}}}}
{"actor":{"display_login":"mateusmedeiros"}}