{ "id": "151662", "key": "ALOY-1312", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [ { "id": "19558", "name": "Alloy 1.10.0", "archived": false, "released": true, "releaseDate": "2017-05-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-05-24T16:52:42.000+0000", "created": "2015-10-01T18:07:45.000+0000", "epic": { "id": 152521, "key": "TIMOB-19834", "name": "Support ES6 for Titanium Application Development", "summary": "Support ES6 for Titanium Application Development", "color": { "key": "color_1" }, "done": false }, "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [ { "id": "55536", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "162534", "key": "ALOY-1512", "fields": { "summary": "Replace Uglify with Babylon", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "None", "id": "6" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } }, { "id": "49570", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "152521", "key": "TIMOB-19834", "fields": { "summary": "Support ES6 for Titanium Application Development", "status": { "description": "This issue is being actively worked on at the moment by the assignee.", "name": "In Progress", "id": "3", "statusCategory": { "id": 4, "key": "indeterminate", "colorName": "yellow", "name": "In Progress" } }, "priority": { "name": "None", "id": "6" }, "issuetype": { "id": "6", "description": "gh.issue.epic.desc", "name": "Epic", "subtask": false } } } }, { "id": "55538", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "169246", "key": "ALOY-1574", "fields": { "summary": "Unable to use ES6 import/exports in alloy controllers due to bad code generation", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "56245", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "110474", "key": "ALOY-540", "fields": { "summary": "Resolve suboptimal compression from uglify-js v2 update", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } }, { "id": "55488", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "169163", "key": "AC-5113", "fields": { "summary": "Unable to build using 'ti build' command using RC SDK 6.1.2", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "updated": "2018-01-06T03:18:02.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [], "description": "This is a Jira to start the discussion on migrating Alloy to ES6. Two specific things come to mind that can happen:\r\n\r\n1. If we don't have a JS runtime that supports ES6 yet, a pre-compiler Alloy plugin using Babel would work.\r\n\r\n2. Alloy controllers re-written to be ES6 classes (big undertaking, I know)", "attachment": [], "flagged": false, "summary": "Upgrade Alloy to ES6 ", "creator": { "name": "rblalock", "key": "rblalock", "displayName": "Rick Blalock", "active": false, "timeZone": "America/Havana" }, "subtasks": [], "reporter": { "name": "rblalock", "key": "rblalock", "displayName": "Rick Blalock", "active": false, "timeZone": "America/Havana" }, "environment": null, "comment": { "comments": [ { "id": "405179", "author": { "name": "Cryde", "key": "cryde", "displayName": "Jérémy Tonneau", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Any update on this ?\r\n", "updateAuthor": { "name": "Cryde", "key": "cryde", "displayName": "Jérémy Tonneau", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-24T16:09:37.000+0000", "updated": "2017-01-24T16:09:37.000+0000" }, { "id": "417657", "author": { "name": "brentonhouse", "key": "brentonhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "body": "[~fmiao] Is the plan on this still to use babel to transform to es5 or to just use es6 code with newer JS runtimes?", "updateAuthor": { "name": "brentonhouse", "key": "brentonhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "created": "2017-04-19T14:05:30.000+0000", "updated": "2017-04-19T14:05:30.000+0000" }, { "id": "417794", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "So I think this ticket ought to be broken down, and I am actively investigating/working on a large piece of this.\r\n\r\nSpecifically there is a difference between \"supporting ES6\" code, and rewriting Alloy to take advantage of ES6 (i.e. rewriting controllers to be ES6 classes).\r\n\r\nI think the first step, and one which is a fairly large undertaking, is to replace our reliance/usage of uglifyjs as the JS parser to handle user code and to walk and transform the AST, as well as to \"compress\" the code. This is very similar to TIMOB-24609, but seems to be more extensive in Alloy's case.\r\n\r\nI'd say that's a much more pressing issue, and re-architecting alloy itself to take advantage of ES6 would be nice but can be lower priority and done later perhaps.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2017-04-20T18:40:24.000+0000", "updated": "2017-04-20T18:40:33.000+0000" }, { "id": "417795", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2017-04-20T18:44:43.000+0000", "updated": "2017-04-20T18:44:43.000+0000" }, { "id": "417798", "author": { "name": "brentonhouse", "key": "brentonhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "body": "Thanks [~cwilliams]!!", "updateAuthor": { "name": "brentonhouse", "key": "brentonhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "created": "2017-04-20T19:21:52.000+0000", "updated": "2017-04-20T19:21:52.000+0000" }, { "id": "419712", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "Note that this PR is about supporting user ES6 code, not rewriting alloy to generate ES6 controllers or anything.\r\nhttps://github.com/appcelerator/alloy/pull/825\r\n", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2017-05-15T18:12:50.000+0000", "updated": "2017-05-15T18:12:50.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }