{"action":"created","issue":{"url":"https://api.github.com/repos/vector-im/riot-web/issues/7391","repository_url":"https://api.github.com/repos/vector-im/riot-web","labels_url":"https://api.github.com/repos/vector-im/riot-web/issues/7391/labels{/name}","comments_url":"https://api.github.com/repos/vector-im/riot-web/issues/7391/comments","events_url":"https://api.github.com/repos/vector-im/riot-web/issues/7391/events","html_url":"https://github.com/vector-im/riot-web/issues/7391","id":363959807,"node_id":"MDU6SXNzdWUzNjM5NTk4MDc=","number":7391,"title":"We can probably make webpack go much much faster.","user":{"login":"ara4n","id":1294269,"node_id":"MDQ6VXNlcjEyOTQyNjk=","avatar_url":"https://avatars2.githubusercontent.com/u/1294269?v=4","gravatar_id":"","url":"https://api.github.com/users/ara4n","html_url":"https://github.com/ara4n","followers_url":"https://api.github.com/users/ara4n/followers","following_url":"https://api.github.com/users/ara4n/following{/other_user}","gists_url":"https://api.github.com/users/ara4n/gists{/gist_id}","starred_url":"https://api.github.com/users/ara4n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ara4n/subscriptions","organizations_url":"https://api.github.com/users/ara4n/orgs","repos_url":"https://api.github.com/users/ara4n/repos","events_url":"https://api.github.com/users/ara4n/events{/privacy}","received_events_url":"https://api.github.com/users/ara4n/received_events","type":"User","site_admin":false},"labels":[{"id":254198617,"node_id":"MDU6TGFiZWwyNTQxOTg2MTc=","url":"https://api.github.com/repos/vector-im/riot-web/labels/maintenance","name":"maintenance","color":"d4c5f9","default":false},{"id":254874870,"node_id":"MDU6TGFiZWwyNTQ4NzQ4NzA=","url":"https://api.github.com/repos/vector-im/riot-web/labels/p1","name":"p1","color":"e11d21","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-26T10:29:17Z","updated_at":"2018-09-27T18:04:52Z","closed_at":null,"author_association":"MEMBER","body":"Thins to consider:\r\n\r\n * [ ] Babel runs single-threaded, and webpack loaders run in series, so only uses one core.  We could look at something like https://github.com/amireh/happypack to act as a webpack loader which then hands out to a pool of node worker processes to parallelise Babel etc.\r\n * [ ] Switch js-sdk and react-sdk to use webpack rather than just babel, so we can then use things like happypack and babel-loader?cacheDirectory to parallelise the build process for them\r\n * [ ] Check we've tuned Uglify correctly (e.g. turned on parallel) when in production mode (something like:\r\n```\r\n  optimization: {\r\n    runtimeChunk: false,\r\n    splitChunks: {\r\n      cacheGroups: {\r\n        commons: {\r\n          test: /[\\\\/]node_modules[\\\\/]/,\r\n          name: 'vendors',\r\n          chunks: 'all',\r\n        },\r\n      },\r\n    },\r\n    minimizer: [\r\n      new UglifyJsPlugin({\r\n        cache: true,\r\n        parallel: true,\r\n        sourceMap: true\r\n      })\r\n    ]\r\n  },\r\n```\r\nCurrently uglify doesn't seem to use all available cores.\r\n\r\n* [ ] Do all the things (other than the multiple configs optimisations, given we only have one config) from https://blog.box.com/blog/how-we-improved-webpack-build-performance-95\r\n"},"comment":{"url":"https://api.github.com/repos/vector-im/riot-web/issues/comments/425188810","html_url":"https://github.com/vector-im/riot-web/issues/7391#issuecomment-425188810","issue_url":"https://api.github.com/repos/vector-im/riot-web/issues/7391","id":425188810,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNTE4ODgxMA==","user":{"login":"turt2live","id":1190097,"node_id":"MDQ6VXNlcjExOTAwOTc=","avatar_url":"https://avatars2.githubusercontent.com/u/1190097?v=4","gravatar_id":"","url":"https://api.github.com/users/turt2live","html_url":"https://github.com/turt2live","followers_url":"https://api.github.com/users/turt2live/followers","following_url":"https://api.github.com/users/turt2live/following{/other_user}","gists_url":"https://api.github.com/users/turt2live/gists{/gist_id}","starred_url":"https://api.github.com/users/turt2live/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/turt2live/subscriptions","organizations_url":"https://api.github.com/users/turt2live/orgs","repos_url":"https://api.github.com/users/turt2live/repos","events_url":"https://api.github.com/users/turt2live/events{/privacy}","received_events_url":"https://api.github.com/users/turt2live/received_events","type":"User","site_admin":false},"created_at":"2018-09-27T18:04:52Z","updated_at":"2018-09-27T18:04:52Z","author_association":"MEMBER","body":"Something else to consider if the js-sdk and react-sdk change build systems is to actually publish a compiled output on npm. Currently when pulling the packages down, both SDKs rebuild themselves to give the developer a fresh copy."}}
{"actor":{"display_login":"turt2live"}}