{ "id": "170243", "key": "DAEMON-122", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12519", "key": "DAEMON", "name": "Appcelerator Daemon" }, "fixVersions": [ { "id": "18407", "description": "", "name": "Appc Daemon 1.0.0", "archived": false, "released": true, "releaseDate": "2017-12-05" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-11-09T18:15:44.000+0000", "created": "2017-11-07T13:37:10.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [], "versions": [ { "id": "18407", "description": "", "name": "Appc Daemon 1.0.0", "archived": false, "released": true, "releaseDate": "2017-12-05" } ], "issuelinks": [], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2017-11-09T18:15:45.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": [ { "id": "15614", "name": "appcd-plugin" } ], "description": "h5.Description\r\n\r\n*This is expected imo but filing for discussion*\r\n\r\nIf I version my plugin as {{0.1.0-0}} then executing {{appcd exec /myplugin/0.1.X/}} or {{appcd exec /myplugin/^0.1.0/}} will not find my plugin. Executing {appcd exec /myplugin/^0.1.0-0/}} will. This is because semver will never view a prerelease as valid in a non-prerelease version range.\r\n\r\n/latest will work, and will load the prerelease version \r\n\r\n{code}\r\n$node\r\n> const semver = require('semver');\r\n> const versions =['1.0.0', '1.1.0-0', '1.1.0-1'];\r\n> versions.sort(semver.rcompare);\r\n[ '1.1.0-1', '1.1.0-0', '1.0.0' ]\r\n{code}\r\n\r\nThis is important as it makes how we version things problematic. If we do prereleases then if consumers decide to call with 0.1.X or similar, then they will never get prereleases plugins, and we don't want them calling latest as that will just lead to problems", "attachment": [], "flagged": false, "summary": "appcd-plugin: Prerelease versions are not loaded by version ranges", "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, "closedSprints": [ { "id": 969, "state": "closed", "name": "2017 Sprint 23 Tooling", "startDate": "2017-11-05T16:36:50.292Z", "endDate": "2017-11-19T16:36:00.000Z", "completeDate": "2017-11-20T18:58:45.002Z", "originBoardId": 219 } ], "comment": { "comments": [], "maxResults": 0, "total": 0, "startAt": 0 } } }