{ "id": "174738", "key": "ALOY-1719", "fields": { "issuetype": { "id": "6", "description": "gh.issue.epic.desc", "name": "Epic", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2020-02-13T17:17:11.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2020-03-09T11:20:45.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "13604", "name": "Tooling", "description": "Items related to Alloy tooling and workflow" } ], "description": "h5.Description\r\n\r\nThe Alloy package is currently a monolithic package that contains everything:\r\n\r\n* CLI\r\n* Parser/compiler\r\n* Runtime dependency code (underscore, backbone, moment)\r\n* Samples, lots and lots of samples\r\n\r\nSeparating these components out allows the following benefits:\r\n\r\n* Allow for easier use in projects that need to parse alloy code, such as the webpack alloy-loader and potentially the language server\r\n* Allow testing the parser/compiler in isolation separately to the compile command greatly reducing our CI times (in theory)\r\n* Identify work the compiler does that we can potentially move to the SDK (such as the optimisations done in TIMOB-27167) and reduce the amount of work done in Alloy\r\n", "attachment": [], "flagged": false, "summary": "Split out Alloy monolith into separate packages", "creator": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "subtasks": [], "reporter": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "environment": null, "comment": { "comments": [], "maxResults": 0, "total": 0, "startAt": 0 } } }