{"action":"created","issue":{"url":"https://api.github.com/repos/linemanjs/lineman/issues/344","labels_url":"https://api.github.com/repos/linemanjs/lineman/issues/344/labels{/name}","comments_url":"https://api.github.com/repos/linemanjs/lineman/issues/344/comments","events_url":"https://api.github.com/repos/linemanjs/lineman/issues/344/events","html_url":"https://github.com/linemanjs/lineman/issues/344","id":55662654,"number":344,"title":"Plugin execution order is unable to be specified.","user":{"login":"davemo","id":69559,"avatar_url":"https://avatars.githubusercontent.com/u/69559?v=3","gravatar_id":"","url":"https://api.github.com/users/davemo","html_url":"https://github.com/davemo","followers_url":"https://api.github.com/users/davemo/followers","following_url":"https://api.github.com/users/davemo/following{/other_user}","gists_url":"https://api.github.com/users/davemo/gists{/gist_id}","starred_url":"https://api.github.com/users/davemo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davemo/subscriptions","organizations_url":"https://api.github.com/users/davemo/orgs","repos_url":"https://api.github.com/users/davemo/repos","events_url":"https://api.github.com/users/davemo/events{/privacy}","received_events_url":"https://api.github.com/users/davemo/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/linemanjs/lineman/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"davemo","id":69559,"avatar_url":"https://avatars.githubusercontent.com/u/69559?v=3","gravatar_id":"","url":"https://api.github.com/users/davemo","html_url":"https://github.com/davemo","followers_url":"https://api.github.com/users/davemo/followers","following_url":"https://api.github.com/users/davemo/following{/other_user}","gists_url":"https://api.github.com/users/davemo/gists{/gist_id}","starred_url":"https://api.github.com/users/davemo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davemo/subscriptions","organizations_url":"https://api.github.com/users/davemo/orgs","repos_url":"https://api.github.com/users/davemo/repos","events_url":"https://api.github.com/users/davemo/events{/privacy}","received_events_url":"https://api.github.com/users/davemo/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-01-27T19:26:20Z","updated_at":"2015-01-27T19:42:12Z","closed_at":null,"body":"In releasing https://github.com/linemanjs/lineman-vendor-split I encountered a bug using the `lineman-angular` plugin in conjunction with `lineman-vendor-split`; users are unable to control the execution order of plugins.\r\n\r\nThe problem manifests itself in a project using `lineman-angular` due to the fact that the `concat_sourcemap` config is modified by both plugins yet `lineman-angular` expects `lineman-vendor-split` to go first so that the config is setup appropriately to modify.\r\n\r\nDiscussion with @searls has yielded a couple of options for users being able to define this, the simplest being simply exporting a function from a plugin that is then required in the `config/application.{js,coffee}` of the users lineman application.\r\n\r\nie:\r\n\r\n```coffeescript\r\nmodule.exports = (lineman) ->\r\n    require('lineman-vendor-split')(lineman.application.config) #mutates the config\r\n    # other normal app config here\r\n    server:\r\n      enabled: true\r\n    # etc\r\n```"},"comment":{"url":"https://api.github.com/repos/linemanjs/lineman/issues/comments/71713657","html_url":"https://github.com/linemanjs/lineman/issues/344#issuecomment-71713657","issue_url":"https://api.github.com/repos/linemanjs/lineman/issues/344","id":71713657,"user":{"login":"searls","id":79303,"avatar_url":"https://avatars.githubusercontent.com/u/79303?v=3","gravatar_id":"","url":"https://api.github.com/users/searls","html_url":"https://github.com/searls","followers_url":"https://api.github.com/users/searls/followers","following_url":"https://api.github.com/users/searls/following{/other_user}","gists_url":"https://api.github.com/users/searls/gists{/gist_id}","starred_url":"https://api.github.com/users/searls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/searls/subscriptions","organizations_url":"https://api.github.com/users/searls/orgs","repos_url":"https://api.github.com/users/searls/repos","events_url":"https://api.github.com/users/searls/events{/privacy}","received_events_url":"https://api.github.com/users/searls/received_events","type":"User","site_admin":false},"created_at":"2015-01-27T19:42:12Z","updated_at":"2015-01-27T19:42:12Z","body":"If we want to take a serious look at this, the first step is probably reacquainting ourselves with the code that currently discovers plugins. It may provide a little insight into how ordering works now"}}