{"action":"created","issue":{"url":"https://api.github.com/repos/ember-cli/rfcs/issues/26","repository_url":"https://api.github.com/repos/ember-cli/rfcs","labels_url":"https://api.github.com/repos/ember-cli/rfcs/issues/26/labels{/name}","comments_url":"https://api.github.com/repos/ember-cli/rfcs/issues/26/comments","events_url":"https://api.github.com/repos/ember-cli/rfcs/issues/26/events","html_url":"https://github.com/ember-cli/rfcs/issues/26","id":105027934,"number":26,"title":"build target + type","user":{"login":"stefanpenner","id":1377,"avatar_url":"https://avatars.githubusercontent.com/u/1377?v=3","gravatar_id":"","url":"https://api.github.com/users/stefanpenner","html_url":"https://github.com/stefanpenner","followers_url":"https://api.github.com/users/stefanpenner/followers","following_url":"https://api.github.com/users/stefanpenner/following{/other_user}","gists_url":"https://api.github.com/users/stefanpenner/gists{/gist_id}","starred_url":"https://api.github.com/users/stefanpenner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stefanpenner/subscriptions","organizations_url":"https://api.github.com/users/stefanpenner/orgs","repos_url":"https://api.github.com/users/stefanpenner/repos","events_url":"https://api.github.com/users/stefanpenner/events{/privacy}","received_events_url":"https://api.github.com/users/stefanpenner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":33,"created_at":"2015-09-05T13:47:30Z","updated_at":"2016-02-12T23:50:21Z","closed_at":null,"body":"*some thoughts, leaving them here for future travelers*\r\n\r\n----\r\n\r\nThere is a constant request to expand the number of environment one can use. Although this is perfectly reasonable and internals should (and will support this). I have noticed another similar trend, build targets \r\n* cordova\r\n* nw.js\r\n* electron\r\n* full page web\r\n* embedded web etc)\r\n* etc.\r\n* some custom mode\r\n\r\nIdeally, I would like to not see dev_cordova prod_cordova test_corvoda, dev_electron,prod_electron etc.etc. As this quickly becomes entirely unmanageable and the cost of adding a new target becomes quite large. It also becomes tricky when dealing with addons, that maybe only need to do something in testing of Cordova.\r\n\r\n\r\nOne thought I had, was to split the concept into `target` and `type`. \r\n\r\n* **target**: destined platform/mode : defaults to `web`\r\n* **type**:  more similar to todays `environment` – in-fact it may make sense just to call it environment. : defaults to dev\r\n\r\n```sh\r\nember build --target electron --type test\r\nember server --target electron --type test\r\nember test --target electron\r\nember test --target electron --server\r\n```\r\n\r\nThis could allow us to provide stable public CLI interface, addon hooks, and should help become a good foundation for future innovation.\r\n\r\n--- \r\n\r\nstuff to explore\r\n\r\n* how does one define a target\r\n* how are commands made aware of the target goals\r\n* how do addons work with this.\r\n* how do we merge \"goals\" of env + target at runtime.\r\n\r\n\r\ncc people who have been doing related work (based on emberaddons.com search): @mike-north @poteto @rwjblue @jakecraige @juanazam @theodorton @brzpegasus @rmachielse"},"comment":{"url":"https://api.github.com/repos/ember-cli/rfcs/issues/comments/183531863","html_url":"https://github.com/ember-cli/rfcs/issues/26#issuecomment-183531863","issue_url":"https://api.github.com/repos/ember-cli/rfcs/issues/26","id":183531863,"user":{"login":"runspired","id":650309,"avatar_url":"https://avatars.githubusercontent.com/u/650309?v=3","gravatar_id":"","url":"https://api.github.com/users/runspired","html_url":"https://github.com/runspired","followers_url":"https://api.github.com/users/runspired/followers","following_url":"https://api.github.com/users/runspired/following{/other_user}","gists_url":"https://api.github.com/users/runspired/gists{/gist_id}","starred_url":"https://api.github.com/users/runspired/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/runspired/subscriptions","organizations_url":"https://api.github.com/users/runspired/orgs","repos_url":"https://api.github.com/users/runspired/repos","events_url":"https://api.github.com/users/runspired/events{/privacy}","received_events_url":"https://api.github.com/users/runspired/received_events","type":"User","site_admin":false},"created_at":"2016-02-12T23:50:21Z","updated_at":"2016-02-12T23:50:21Z","body":"@lukemelia @stefanpenner I can do Monday or Tuesday easily, Stef already mentioned to me that Tuesday would be better."}}