{"action":"created","issue":{"url":"https://api.github.com/repos/rollup/rollup/issues/151","labels_url":"https://api.github.com/repos/rollup/rollup/issues/151/labels{/name}","comments_url":"https://api.github.com/repos/rollup/rollup/issues/151/comments","events_url":"https://api.github.com/repos/rollup/rollup/issues/151/events","html_url":"https://github.com/rollup/rollup/pull/151","id":108512867,"number":151,"title":"Contingency plan for #132","user":{"login":"Rich-Harris","id":1162160,"avatar_url":"https://avatars.githubusercontent.com/u/1162160?v=3","gravatar_id":"","url":"https://api.github.com/users/Rich-Harris","html_url":"https://github.com/Rich-Harris","followers_url":"https://api.github.com/users/Rich-Harris/followers","following_url":"https://api.github.com/users/Rich-Harris/following{/other_user}","gists_url":"https://api.github.com/users/Rich-Harris/gists{/gist_id}","starred_url":"https://api.github.com/users/Rich-Harris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Rich-Harris/subscriptions","organizations_url":"https://api.github.com/users/Rich-Harris/orgs","repos_url":"https://api.github.com/users/Rich-Harris/repos","events_url":"https://api.github.com/users/Rich-Harris/events{/privacy}","received_events_url":"https://api.github.com/users/Rich-Harris/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-09-27T04:40:16Z","updated_at":"2015-09-28T07:02:43Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rollup/rollup/pulls/151","html_url":"https://github.com/rollup/rollup/pull/151","diff_url":"https://github.com/rollup/rollup/pull/151.diff","patch_url":"https://github.com/rollup/rollup/pull/151.patch"},"body":"Since 0.16.0, [Ractive.js is failing to build](https://github.com/ractivejs/ractive/issues/2159) because modules are in the wrong order. Given that there's been a number of fixes in Rollup since then, and more to come soon, pinning an old version isn't really a viable option.\r\n\r\nHave tried to solve #132 in various ways, but am ashamed to say I've admitted defeat. This PR represents the contingency plan – reinstating the various recent fixes and new tests on top of 0.15.0 instead. The one thing it *doesn't* yet reinstate is static namespace optimisations (internal `import *` statements will continue to work, they just won't be as neat).\r\n\r\nI know this is drastic, but unless there's a better way of fixing it – @Victorystick here's hoping you have something up your sleeve! – we might need to do this, at least temporarily, as #132 is a bug with no possible workaround."},"comment":{"url":"https://api.github.com/repos/rollup/rollup/issues/comments/143656316","html_url":"https://github.com/rollup/rollup/pull/151#issuecomment-143656316","issue_url":"https://api.github.com/repos/rollup/rollup/issues/151","id":143656316,"user":{"login":"Victorystick","id":703602,"avatar_url":"https://avatars.githubusercontent.com/u/703602?v=3","gravatar_id":"","url":"https://api.github.com/users/Victorystick","html_url":"https://github.com/Victorystick","followers_url":"https://api.github.com/users/Victorystick/followers","following_url":"https://api.github.com/users/Victorystick/following{/other_user}","gists_url":"https://api.github.com/users/Victorystick/gists{/gist_id}","starred_url":"https://api.github.com/users/Victorystick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Victorystick/subscriptions","organizations_url":"https://api.github.com/users/Victorystick/orgs","repos_url":"https://api.github.com/users/Victorystick/repos","events_url":"https://api.github.com/users/Victorystick/events{/privacy}","received_events_url":"https://api.github.com/users/Victorystick/received_events","type":"User","site_admin":false},"created_at":"2015-09-28T07:02:43Z","updated_at":"2015-09-28T07:02:43Z","body":"The monkey patching is unfortunate, and I want to remove it at the first opportunity. This was the easiest way to get the required behavior without introducing any additional classes. (Although maybe in this case I should have. It wouldn't have been that complex regardless.)\r\n\r\nI understand that you want to keep Rollup's code structure simple and easy to understand, ideally with only a few classes. I agree with that goal. However, when the project complexity grows, I think it's best to add a few more classes, to mange the complexity, so long as they have clear interface boundaries.\r\n\r\nThe transition to the new Scope class hasn't been painless, and I regret that, but I do believe in the end result.\r\n\r\nI think the idea of virtual scopes isn't all too complicated, but I really should try to explain it better. I'll get back to you on that."}}