{"action":"created","issue":{"url":"https://api.github.com/repos/dhis2/d2-ui/issues/318","repository_url":"https://api.github.com/repos/dhis2/d2-ui","labels_url":"https://api.github.com/repos/dhis2/d2-ui/issues/318/labels{/name}","comments_url":"https://api.github.com/repos/dhis2/d2-ui/issues/318/comments","events_url":"https://api.github.com/repos/dhis2/d2-ui/issues/318/events","html_url":"https://github.com/dhis2/d2-ui/pull/318","id":375144014,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI2NjU4MTM5","number":318,"title":"BREAKING: Remove UMD bundles, move d2-ui-app to d2-ui-core, etc.","user":{"login":"varl","id":185449,"node_id":"MDQ6VXNlcjE4NTQ0OQ==","avatar_url":"https://avatars1.githubusercontent.com/u/185449?v=4","gravatar_id":"","url":"https://api.github.com/users/varl","html_url":"https://github.com/varl","followers_url":"https://api.github.com/users/varl/followers","following_url":"https://api.github.com/users/varl/following{/other_user}","gists_url":"https://api.github.com/users/varl/gists{/gist_id}","starred_url":"https://api.github.com/users/varl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/varl/subscriptions","organizations_url":"https://api.github.com/users/varl/orgs","repos_url":"https://api.github.com/users/varl/repos","events_url":"https://api.github.com/users/varl/events{/privacy}","received_events_url":"https://api.github.com/users/varl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-10-29T17:57:55Z","updated_at":"2018-10-29T19:06:17Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/dhis2/d2-ui/pulls/318","html_url":"https://github.com/dhis2/d2-ui/pull/318","diff_url":"https://github.com/dhis2/d2-ui/pull/318.diff","patch_url":"https://github.com/dhis2/d2-ui/pull/318.patch"},"body":"Before releasing the next major version of d2-ui I want to do some larger changes.\r\n\r\n# Breaking changes\r\n- move d2-ui-app to d2-ui-core as it belongs with the 0.20 components\r\n- remove UMD builds on the basis that libraries should only be transpiled, not bundled, since they are included in an application which will run a bundle step and tree-shake at that point\r\n- release d2-ui under a dependent version scheme (https://github.com/lerna/lerna#fixedlocked-mode-default)\r\n\r\n# CI changes\r\n- introduce deploy-build to d2-ui\r\n\r\n# Minor fixes\r\n- remove useless log statements (e.g. in headerbar)\r\n- fix warnings in example app\r\n- remove hacky resolution in package.json as it seems to work without it now\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/dhis2/d2-ui/issues/comments/434039934","html_url":"https://github.com/dhis2/d2-ui/pull/318#issuecomment-434039934","issue_url":"https://api.github.com/repos/dhis2/d2-ui/issues/318","id":434039934,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNDAzOTkzNA==","user":{"login":"varl","id":185449,"node_id":"MDQ6VXNlcjE4NTQ0OQ==","avatar_url":"https://avatars1.githubusercontent.com/u/185449?v=4","gravatar_id":"","url":"https://api.github.com/users/varl","html_url":"https://github.com/varl","followers_url":"https://api.github.com/users/varl/followers","following_url":"https://api.github.com/users/varl/following{/other_user}","gists_url":"https://api.github.com/users/varl/gists{/gist_id}","starred_url":"https://api.github.com/users/varl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/varl/subscriptions","organizations_url":"https://api.github.com/users/varl/orgs","repos_url":"https://api.github.com/users/varl/repos","events_url":"https://api.github.com/users/varl/events{/privacy}","received_events_url":"https://api.github.com/users/varl/received_events","type":"User","site_admin":false},"created_at":"2018-10-29T19:06:17Z","updated_at":"2018-10-29T19:06:17Z","author_association":"MEMBER","body":"# Versioning\r\n\r\nAs a lot of **d2-ui** depends on **d2** we have two options:\r\n\r\n1. release **d2-ui** without tying the version to the DHIS2 API (e.g. `v5.0.0`)\r\n2. release **d2-ui** and tying it to the version of the DHIS2 API (e.g. `v31.0.0`)\r\n\r\n# Rationale\r\n\r\n>1. release **d2-ui** without tying the version to the DHIS2 API (e.g. `v5.0.0`)\r\n\r\nIt would be very nice to be able to use **d2-ui** without thinking about which API it is pointed to, and reasonable to expect from a UI library.\r\n\r\nWe could add the **d2** dependency as a _real_ dependency (as opposed to a _peerDep_) to allow an application to install **d2-ui** without thinking about which version of **d2** it needs.\r\n\r\nThis triggers an immediate need to rewrite several components from accepting **d2** as a _prop_, to be able to bootstrap a full **d2** instance themselves.\r\n\r\nOne thing to note is that we have historically had problems different **d2** versions used in the **app** and in **d2-ui**. At that point this conflict was resolved using resolve hacks in webpack and `package.json`, which is something I do not want to return to (and this PR actively prohibits by removing UMD bundles).\r\n\r\n>2. release **d2-ui** and tying it to the version of the DHIS2 API (e.g. `v31.0.0`)\r\n\r\nSince **d2** is often defined as a peer dependency, the **app** which uses **d2-ui** has to make sure that it is using a compliant **d2** package.\r\n\r\nEven if we get a warning about an incorrect peerDep when running `yarn install`, it's easy to overlook, but if your `package.json` has a list of deps all pointing to the same version ... the outlier would stand out like a sore thumb during PRs and day-to-day ops."}}
{"actor":{"display_login":"varl"}}