{"action":"created","issue":{"url":"https://api.github.com/repos/kaliber5/ember-bootstrap/issues/233","repository_url":"https://api.github.com/repos/kaliber5/ember-bootstrap","labels_url":"https://api.github.com/repos/kaliber5/ember-bootstrap/issues/233/labels{/name}","comments_url":"https://api.github.com/repos/kaliber5/ember-bootstrap/issues/233/comments","events_url":"https://api.github.com/repos/kaliber5/ember-bootstrap/issues/233/events","html_url":"https://github.com/kaliber5/ember-bootstrap/pull/233","id":206902835,"number":233,"title":"[WIP] Assess & improve the blueprint","user":{"login":"srvance","id":1683635,"avatar_url":"https://avatars.githubusercontent.com/u/1683635?v=3","gravatar_id":"","url":"https://api.github.com/users/srvance","html_url":"https://github.com/srvance","followers_url":"https://api.github.com/users/srvance/followers","following_url":"https://api.github.com/users/srvance/following{/other_user}","gists_url":"https://api.github.com/users/srvance/gists{/gist_id}","starred_url":"https://api.github.com/users/srvance/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/srvance/subscriptions","organizations_url":"https://api.github.com/users/srvance/orgs","repos_url":"https://api.github.com/users/srvance/repos","events_url":"https://api.github.com/users/srvance/events{/privacy}","received_events_url":"https://api.github.com/users/srvance/received_events","type":"User","site_admin":false},"labels":[{"id":477089835,"url":"https://api.github.com/repos/kaliber5/ember-bootstrap/labels/WIP","name":"WIP","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":{"login":"srvance","id":1683635,"avatar_url":"https://avatars.githubusercontent.com/u/1683635?v=3","gravatar_id":"","url":"https://api.github.com/users/srvance","html_url":"https://github.com/srvance","followers_url":"https://api.github.com/users/srvance/followers","following_url":"https://api.github.com/users/srvance/following{/other_user}","gists_url":"https://api.github.com/users/srvance/gists{/gist_id}","starred_url":"https://api.github.com/users/srvance/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/srvance/subscriptions","organizations_url":"https://api.github.com/users/srvance/orgs","repos_url":"https://api.github.com/users/srvance/repos","events_url":"https://api.github.com/users/srvance/events{/privacy}","received_events_url":"https://api.github.com/users/srvance/received_events","type":"User","site_admin":false},"assignees":[{"login":"srvance","id":1683635,"avatar_url":"https://avatars.githubusercontent.com/u/1683635?v=3","gravatar_id":"","url":"https://api.github.com/users/srvance","html_url":"https://github.com/srvance","followers_url":"https://api.github.com/users/srvance/followers","following_url":"https://api.github.com/users/srvance/following{/other_user}","gists_url":"https://api.github.com/users/srvance/gists{/gist_id}","starred_url":"https://api.github.com/users/srvance/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/srvance/subscriptions","organizations_url":"https://api.github.com/users/srvance/orgs","repos_url":"https://api.github.com/users/srvance/repos","events_url":"https://api.github.com/users/srvance/events{/privacy}","received_events_url":"https://api.github.com/users/srvance/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2017-02-10T20:48:53Z","updated_at":"2017-02-12T19:51:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kaliber5/ember-bootstrap/pulls/233","html_url":"https://github.com/kaliber5/ember-bootstrap/pull/233","diff_url":"https://github.com/kaliber5/ember-bootstrap/pull/233.diff","patch_url":"https://github.com/kaliber5/ember-bootstrap/pull/233.patch"},"body":"The default blueprint is run when `ember-bootstrap` is installed and can also be run separately. Currently it installs all of the dependencies necessary for e-b. With the Bootstrap 4 support, there are more dependencies and permutations of Bootstrap versions and preprocessors.\r\n\r\nThis PR investigates whether it works correctly in those situations and explores where we should go from there. Phase 1 assesses whether the blueprint works correctly for the various upgrade paths needed to support #206 with 2 Bootstrap versions (3, 4) and 3 preprocessor options (none, LESS, SASS). Phase 2 investigates whether we can improve the overhead of the current solution by installing only the packages necessary to support the chosen configuration.\r\n\r\n# Phase 1: Install a functional `ember-bootstrap`\r\n\r\nThe `bs4` branch approach is to install `bootstrap#^3.3.7` in `bower.json` and `bootstrap#^4.0.0-alpha.6` and `bootstrap-sass#^3.3.7` in `package.json` and use build-time tree manipulation based on the `bootstrapVersion` setting in `index.js`. This results in additional overhead to install `ember-bootstrap`, but exactly what is needed in the production distribution.\r\n\r\n* `e-b` = ember-bootstrap (None, <bs4, bs4)\r\n* `BS` = Bootstrap (None, 3, 4)\r\n* `Pre` = CSS preprocessor (None, LESS, SASS)\r\n  * `LESS` = Assumes `ember-cli-less`\r\n  * `SASS` = Assumes `ember-cli-sass`\r\n\r\n## Installation Scenarios\r\n\r\nNormal usage when `ember-bootstrap` has not been installed invokes the blueprint during `ember install ember-bootstrap`.\r\n\r\nFrom/To (e-b/BS/Pre) | bs4/3/None | bs4/3/LESS | bs4/3/SASS | bs4/4/None | bs4/4/SASS |\r\n---- | ---- | ---- | ---- | ---- | ----\r\nNone/None/None | Add bootstrap3 in bower.json and bootstrap4 in package.json | No direct path | No direct path | No direct path | No direct path\r\nNone/None/LESS | No direct path | Add bootstrap3 in bower.json and bootstrap 4 in package.json; create app.less | No direct path | No direct path | No direct path\r\nNone/None/SASS | No direct path | No direct path | Add bootstrap-sass and bootstrap4 in package.json; create app.scss | No direct path | No direct path\r\nNone/3/None | Update bootstrap3 in bower.json and add bootstrap4 in package.json | No direct path | No direct path | No direct path | No direct path\r\nNone/3/LESS | No direct path | Update bootstrap3 in bower.json and add bootstrap 4 in package.json; append import to app.less | No direct path | No direct path | No direct path\r\nNone/3/SASS | No direct path | No direct path | Add bootstrap-sass and bootstrap4 in package.json; append import to app.scss | No direct path | No direct path\r\nNone/4/None | Downgrade to bootstrap3 in bower.json and add bootstrap4 in package.json | No direct path | No direct path | No direct path | No direct path\r\nNone/4/SASS | No direct path | No direct path | Add bootstrap-sass and update bootstrap4 in package.json; append import to app.scss | No direct path | No direct path\r\n\r\n### Notes\r\n\r\n* Anything installed in `bower.json` will be untouched except for updating the \"bootstrap\" version if applicable. Most notably, this includes \"bootstrap-sass\".\r\n* The blueprint makes no modifications to `ember-cli-build.js`\r\n* The blueprint makes the wrong assumptions if an alternate preprocessor is present.\r\n* There is no direct route to change preprocessors or to use Bootstrap 4 via the blueprint.\r\n\r\n## Configuration Change Scenarios\r\n\r\nOnce `ember-bootstrap` has been installed, the blueprint is invoked with `ember generate ember-bootstrap`.\r\n\r\nFrom/To (e-b/BS/Pre) | bs4/3/None | bs4/3/LESS | bs4/3/SASS | bs4/4/None | bs4/4/SASS |\r\n---- | ---- | ---- | ---- | ---- | ----\r\n<bs4/3/None |  |  |  |  |  \r\n<bs4/3/LESS |  |  |  |  |  \r\n<bs4/3/SASS |  |  |  |  |  \r\nbs4/3/None | No change |  |  |  |  \r\nbs4/3/LESS |  | No change |  |  |  \r\nbs4/3/SASS |  |  | No change |  |  \r\nbs4/4/None |  |  |  | No change |  \r\nbs4/4/SASS |  |  |  |  | No change\r\n\r\n## Other configurations\r\n\r\nThe following and other packages aren't explicitly addressed at this time, although their effects are if they install the packages addressed above.\r\n\r\n* `ember-cli-bootstrap-sassy`\r\n* `ember-cli-bootstrap3-sass`\r\n* `ember-cli-postcss`\r\n* `ember-cli-css-preprocess`\r\n\r\n# Phase 2: Optimize Installation\r\n\r\nInstall only the necessary bootstrap and preprocessor packages and automatically manage the `bootstrapVersion` in `index.js`."},"comment":{"url":"https://api.github.com/repos/kaliber5/ember-bootstrap/issues/comments/279243345","html_url":"https://github.com/kaliber5/ember-bootstrap/pull/233#issuecomment-279243345","issue_url":"https://api.github.com/repos/kaliber5/ember-bootstrap/issues/233","id":279243345,"user":{"login":"simonihmig","id":1325249,"avatar_url":"https://avatars.githubusercontent.com/u/1325249?v=3","gravatar_id":"","url":"https://api.github.com/users/simonihmig","html_url":"https://github.com/simonihmig","followers_url":"https://api.github.com/users/simonihmig/followers","following_url":"https://api.github.com/users/simonihmig/following{/other_user}","gists_url":"https://api.github.com/users/simonihmig/gists{/gist_id}","starred_url":"https://api.github.com/users/simonihmig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simonihmig/subscriptions","organizations_url":"https://api.github.com/users/simonihmig/orgs","repos_url":"https://api.github.com/users/simonihmig/repos","events_url":"https://api.github.com/users/simonihmig/events{/privacy}","received_events_url":"https://api.github.com/users/simonihmig/received_events","type":"User","site_admin":false},"created_at":"2017-02-12T19:51:21Z","updated_at":"2017-02-12T19:51:21Z","body":"So, if you are willing to lead that effort with `recast`, then I am all in. Regarding the remove from bower feature, it should be easy to add as it is just some JSON that needs to be read, modified and written back to disk. See this example: https://github.com/tomdale/ember-cli-addon-tests/blob/master/lib/utilities/pristine.js#L196-L205"}}
{"actor":{"display_login":"simonihmig"}}