{ "id": "166005", "key": "DAEMON-39", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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-02-23T16:33:14.000+0000", "created": "2017-02-14T04:04:30.000+0000", "epic": { "id": 154699, "key": "DAEMON-48", "name": "Appcelerator Daemon v1", "summary": "Appcelerator Daemon v1", "color": { "key": "color_9" }, "done": false }, "priority": { "name": "Critical", "id": "1" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2017-10-26T03:12:49.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": "15626", "name": "Tooling", "description": "General tooling: CI, lerna, yarn, gulp, esdoc, babel, etc" } ], "description": "The appcd daemon is made up of the bootstrap, core, a bunch of micro packages, and a bunch of plugins. While each of these can be published individually to NPM, it might be better to generate a pseudo \"appcd\" package that combines all of the appcd-* {{package.json}} files together.\r\n\r\nThis would save hundreds of MB of hard drive space.\r\n\r\nFurthermore, we may want to take it a step further and declare the bootstrap, core, micro packages, and plugins as \"bundledDependencies\" and include them in the package. This would allow us to only publish \"appcd\" to npm instead of dozens of modules every release. This would also make locking down versions much easier.", "attachment": [], "flagged": false, "summary": "appcd: Create 'package' task for top-level gulp file", "creator": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "environment": null, "closedSprints": [ { "id": 840, "state": "closed", "name": "2017 Sprint 04 Tooling", "startDate": "2017-02-12T23:40:43.579Z", "endDate": "2017-02-26T23:40:00.000Z", "completeDate": "2017-02-26T17:40:05.048Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "406965", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Wrote a quick test and the results are very positive. By consolidating all of the {{node_modules}} across all packages, the daemon *currently* only requires 27 dependencies totaling 26MB of space. The daemon has a ways to go, so the number of dependencies will go up, but all the more reason to pursue this.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-02-14T06:11:30.000+0000", "updated": "2017-02-14T06:11:30.000+0000" }, { "id": "407074", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "I implemented the rest of the 'package' task and it generates the tarball which is 88KB. That includes all the bootstrap, core, and micro-packages. It doesn't include plugins yet. It extracts to 524KB before installing NPM dependencies.\r\n\r\nAfter doing an {{npm install}}, the install size increases up to 27MB. This isn't terrible. NPM itself is 19MB. The Appc CLI \"core\" is a whopping 286MB.\r\n\r\nObviously we can expect the daemon to grow in size, but will most certainly be less than the Appc CLI's install size.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-02-15T06:56:34.000+0000", "updated": "2017-02-15T06:56:34.000+0000" }, { "id": "407753", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Latest package stats:\r\n\r\n|Tarball|137KB|\r\n|Extracted, before npm install|580KB|\r\n|Extracted, after npm install|31MB|\r\n|Node modules|218|", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-02-23T17:28:11.000+0000", "updated": "2017-02-23T17:28:11.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }