{"action":"created","issue":{"url":"https://api.github.com/repos/zurb/foundation-sites/issues/7758","repository_url":"https://api.github.com/repos/zurb/foundation-sites","labels_url":"https://api.github.com/repos/zurb/foundation-sites/issues/7758/labels{/name}","comments_url":"https://api.github.com/repos/zurb/foundation-sites/issues/7758/comments","events_url":"https://api.github.com/repos/zurb/foundation-sites/issues/7758/events","html_url":"https://github.com/zurb/foundation-sites/issues/7758","id":124820986,"number":7758,"title":"The Great ES2015 Shift","user":{"login":"gakimball","id":1142001,"avatar_url":"https://avatars.githubusercontent.com/u/1142001?v=3","gravatar_id":"","url":"https://api.github.com/users/gakimball","html_url":"https://github.com/gakimball","followers_url":"https://api.github.com/users/gakimball/followers","following_url":"https://api.github.com/users/gakimball/following{/other_user}","gists_url":"https://api.github.com/users/gakimball/gists{/gist_id}","starred_url":"https://api.github.com/users/gakimball/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gakimball/subscriptions","organizations_url":"https://api.github.com/users/gakimball/orgs","repos_url":"https://api.github.com/users/gakimball/repos","events_url":"https://api.github.com/users/gakimball/events{/privacy}","received_events_url":"https://api.github.com/users/gakimball/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/zurb/foundation-sites/labels/feature","name":"feature","color":"eeeeee"},{"url":"https://api.github.com/repos/zurb/foundation-sites/labels/help%20wanted","name":"help wanted","color":"eb6420"},{"url":"https://api.github.com/repos/zurb/foundation-sites/labels/javascript","name":"javascript","color":"f0db4f"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/zurb/foundation-sites/milestones/25","html_url":"https://github.com/zurb/foundation-sites/milestones/6.2","labels_url":"https://api.github.com/repos/zurb/foundation-sites/milestones/25/labels","id":1473050,"number":25,"title":"6.2","description":"","creator":{"login":"gakimball","id":1142001,"avatar_url":"https://avatars.githubusercontent.com/u/1142001?v=3","gravatar_id":"","url":"https://api.github.com/users/gakimball","html_url":"https://github.com/gakimball","followers_url":"https://api.github.com/users/gakimball/followers","following_url":"https://api.github.com/users/gakimball/following{/other_user}","gists_url":"https://api.github.com/users/gakimball/gists{/gist_id}","starred_url":"https://api.github.com/users/gakimball/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gakimball/subscriptions","organizations_url":"https://api.github.com/users/gakimball/orgs","repos_url":"https://api.github.com/users/gakimball/repos","events_url":"https://api.github.com/users/gakimball/events{/privacy}","received_events_url":"https://api.github.com/users/gakimball/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":22,"state":"closed","created_at":"2015-12-23T21:07:44Z","updated_at":"2016-04-07T18:35:16Z","due_on":"2016-02-26T08:00:00Z","closed_at":"2016-02-29T18:24:50Z"},"comments":22,"created_at":"2016-01-04T19:22:00Z","updated_at":"2016-04-21T08:58:30Z","closed_at":"2016-02-24T00:04:44Z","body":"We missed our chance to ship Foundation 6 in ES2015, but we're interested in upgrading the codebase.\r\n\r\nTo compile ES6 to 5 we'd use Babel, but *only* features that don't require polyfills. A basic list includes:\r\n- Fat arrows\r\n- ~~Classes~~ #8086\r\n- Multiline strings\r\n- ~~Template strings~~ #8018\r\n- Destructuring\r\n- Default function parameters\r\n- Trailing function parameters\r\n- Spread parameters\r\n- `let` and `const`\r\n\r\nThis will also get us easier UMD support, by using Babel's module transpiler.\r\n\r\nWe need the shift to be **entirely backwards compatible**, which should be totally doable.\r\n\r\nIf you're interested in contributing, there's a `6.2` branch you can work on.\r\n\r\n**Edit:** I also remembered there's some weirdness with how Babel's module transpiler works regarding browser globals, so we need to work around that. It doesn't mesh with the way we assign browser globals, since all of our plugins add to `window.Foundation`, not `window`."},"comment":{"url":"https://api.github.com/repos/zurb/foundation-sites/issues/comments/212820027","html_url":"https://github.com/zurb/foundation-sites/issues/7758#issuecomment-212820027","issue_url":"https://api.github.com/repos/zurb/foundation-sites/issues/7758","id":212820027,"user":{"login":"DaSchTour","id":1907266,"avatar_url":"https://avatars.githubusercontent.com/u/1907266?v=3","gravatar_id":"","url":"https://api.github.com/users/DaSchTour","html_url":"https://github.com/DaSchTour","followers_url":"https://api.github.com/users/DaSchTour/followers","following_url":"https://api.github.com/users/DaSchTour/following{/other_user}","gists_url":"https://api.github.com/users/DaSchTour/gists{/gist_id}","starred_url":"https://api.github.com/users/DaSchTour/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DaSchTour/subscriptions","organizations_url":"https://api.github.com/users/DaSchTour/orgs","repos_url":"https://api.github.com/users/DaSchTour/repos","events_url":"https://api.github.com/users/DaSchTour/events{/privacy}","received_events_url":"https://api.github.com/users/DaSchTour/received_events","type":"User","site_admin":false},"created_at":"2016-04-21T08:58:30Z","updated_at":"2016-04-21T08:58:30Z","body":"As I found this by searching for TypeScript in Foundation Context. I think by shifting to TypeScript Foundation for Sites and for Apps could benefit better and the usage with Angular 2 would be easier. Maybe it also would make sense to have something like Foundation Core (maybe even Core Style and Core JS/TS?) which is then extended to Foundation for Sites and Foundation for Apps. Just some crazy ideas :)"}}