{"action":"created","issue":{"url":"https://api.github.com/repos/kbase/kbase-ui/issues/19","labels_url":"https://api.github.com/repos/kbase/kbase-ui/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/kbase/kbase-ui/issues/19/comments","events_url":"https://api.github.com/repos/kbase/kbase-ui/issues/19/events","html_url":"https://github.com/kbase/kbase-ui/pull/19","id":121808943,"number":19,"title":"Refactor oriented at simplification","user":{"login":"eapearson","id":7674378,"avatar_url":"https://avatars.githubusercontent.com/u/7674378?v=3","gravatar_id":"","url":"https://api.github.com/users/eapearson","html_url":"https://github.com/eapearson","followers_url":"https://api.github.com/users/eapearson/followers","following_url":"https://api.github.com/users/eapearson/following{/other_user}","gists_url":"https://api.github.com/users/eapearson/gists{/gist_id}","starred_url":"https://api.github.com/users/eapearson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eapearson/subscriptions","organizations_url":"https://api.github.com/users/eapearson/orgs","repos_url":"https://api.github.com/users/eapearson/repos","events_url":"https://api.github.com/users/eapearson/events{/privacy}","received_events_url":"https://api.github.com/users/eapearson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-12-11T23:02:06Z","updated_at":"2015-12-12T02:19:58Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kbase/kbase-ui/pulls/19","html_url":"https://github.com/kbase/kbase-ui/pull/19","diff_url":"https://github.com/kbase/kbase-ui/pull/19.diff","patch_url":"https://github.com/kbase/kbase-ui/pull/19.patch"},"body":"Cleaned up some internals which complicated the configuration, specifically some services which were installed as plugins, which introduced inter-plugin dependencies. Yuck.\r\nQuite a bit of cleanup relating to the Bluebird promises lib update -- it issues usage warning messages into the browser console which makes debugging difficult. Many times the warnings help to find suspect nested promises -- addressing all of the messages did improve and simplify code.\r\nRe-introduced development conveniences, specifically external (local development) plugin directory.\r\nRevamped the build process and created a specific dist directory.\r\nSignificant (but not fully complete) move towards directory based module namespacing -- module references are by path, and the target javascript file must live on that path in the build or dist product. This simplifies AMD configuration, improves debuggability, and helps isolate module dependencies."},"comment":{"url":"https://api.github.com/repos/kbase/kbase-ui/issues/comments/164098463","html_url":"https://github.com/kbase/kbase-ui/pull/19#issuecomment-164098463","issue_url":"https://api.github.com/repos/kbase/kbase-ui/issues/19","id":164098463,"user":{"login":"eapearson","id":7674378,"avatar_url":"https://avatars.githubusercontent.com/u/7674378?v=3","gravatar_id":"","url":"https://api.github.com/users/eapearson","html_url":"https://github.com/eapearson","followers_url":"https://api.github.com/users/eapearson/followers","following_url":"https://api.github.com/users/eapearson/following{/other_user}","gists_url":"https://api.github.com/users/eapearson/gists{/gist_id}","starred_url":"https://api.github.com/users/eapearson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eapearson/subscriptions","organizations_url":"https://api.github.com/users/eapearson/orgs","repos_url":"https://api.github.com/users/eapearson/repos","events_url":"https://api.github.com/users/eapearson/events{/privacy}","received_events_url":"https://api.github.com/users/eapearson/received_events","type":"User","site_admin":false},"created_at":"2015-12-12T02:19:58Z","updated_at":"2015-12-12T02:19:58Z","body":"Exactly, I was just tinkering with the build and deploy phase -- all that really needs doing for deploy is to copy dist to a specified location, and then write a service config file. One tricky bit is development building is that we need to inject the service config earlier, since there is no deployment. The flow to get to deploy is something like this (simplified):\r\nsource -> build -> dist -> deploy -> inject config\r\nif the config is injected at deploy, the development build will need to alter the flow so that\r\nsource -> build -> inject config\r\nthat is no big deal since the newish build process supports that.\r\n\r\nSince bower flattens the dependency tree, it is easy to get conflicts if version expressions are too restrictive. It can be overridden, but that is not wonderful. I was thinking though that if kbase-ui at least uses strict versions in dependency configuration, then it will be very stable over a release cycle, right?. Upon a major release we could catch up on what's been happening with dependencies. I was thinking, too, that this would encourage more discipline in following the status of dependencies, and that this could be documented in the commits in which the versions are updated if not in release notes.\r\n\r\nRe Bower I'm pretty sure we can use release tags directly, but in any case the bower registry is nicer because we can use shorter, canonical names like everyone else, and version expressions. We can test this out with a local registry."}}