{"action":"created","issue":{"url":"https://api.github.com/repos/igvteam/igv.js/issues/674","repository_url":"https://api.github.com/repos/igvteam/igv.js","labels_url":"https://api.github.com/repos/igvteam/igv.js/issues/674/labels{/name}","comments_url":"https://api.github.com/repos/igvteam/igv.js/issues/674/comments","events_url":"https://api.github.com/repos/igvteam/igv.js/issues/674/events","html_url":"https://github.com/igvteam/igv.js/issues/674","id":328776503,"node_id":"MDU6SXNzdWUzMjg3NzY1MDM=","number":674,"title":"Open to continuous integration and ES6 export?","user":{"login":"eweitz","id":1334561,"node_id":"MDQ6VXNlcjEzMzQ1NjE=","avatar_url":"https://avatars1.githubusercontent.com/u/1334561?v=4","gravatar_id":"","url":"https://api.github.com/users/eweitz","html_url":"https://github.com/eweitz","followers_url":"https://api.github.com/users/eweitz/followers","following_url":"https://api.github.com/users/eweitz/following{/other_user}","gists_url":"https://api.github.com/users/eweitz/gists{/gist_id}","starred_url":"https://api.github.com/users/eweitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eweitz/subscriptions","organizations_url":"https://api.github.com/users/eweitz/orgs","repos_url":"https://api.github.com/users/eweitz/repos","events_url":"https://api.github.com/users/eweitz/events{/privacy}","received_events_url":"https://api.github.com/users/eweitz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":25,"created_at":"2018-06-02T20:55:48Z","updated_at":"2018-08-03T14:55:11Z","closed_at":null,"author_association":"NONE","body":"Hi IGV team!  If you're amenable to it, I'd like to implement a few infrastructural improvements for igv.js: continuous integration and ES6 export.  These have helped [Ideogram.js](https://github.com/eweitz/ideogram), a library I develop that's inspired by your work, and I'd like to contribute similar enhancements to igv.js.\r\n\r\nContinuous integration would automatically run your existing test suite when you push a commit.  CI helps keep code robust, and raises confidence among developers that a codebase has a test suite and passes it.  [Travis CI](https://travis-ci.org/) is a free service for this and integrates well with GitHub.\r\n\r\n[ES6 export](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export) would let developers easily embed igv.js as a component using JavaScript frameworks like Angular, React, and Vue.  This ES6 / ES2015 syntax for import and export derives from module systems like AMD and CommonJS, and puts their best parts into a formal language standard.\r\n\r\nWould you be open to CI and ES6 export?  If so, I'll open pull requests to support them.  Let me know!"},"comment":{"url":"https://api.github.com/repos/igvteam/igv.js/issues/comments/410279089","html_url":"https://github.com/igvteam/igv.js/issues/674#issuecomment-410279089","issue_url":"https://api.github.com/repos/igvteam/igv.js/issues/674","id":410279089,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDI3OTA4OQ==","user":{"login":"eweitz","id":1334561,"node_id":"MDQ6VXNlcjEzMzQ1NjE=","avatar_url":"https://avatars1.githubusercontent.com/u/1334561?v=4","gravatar_id":"","url":"https://api.github.com/users/eweitz","html_url":"https://github.com/eweitz","followers_url":"https://api.github.com/users/eweitz/followers","following_url":"https://api.github.com/users/eweitz/following{/other_user}","gists_url":"https://api.github.com/users/eweitz/gists{/gist_id}","starred_url":"https://api.github.com/users/eweitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eweitz/subscriptions","organizations_url":"https://api.github.com/users/eweitz/orgs","repos_url":"https://api.github.com/users/eweitz/repos","events_url":"https://api.github.com/users/eweitz/events{/privacy}","received_events_url":"https://api.github.com/users/eweitz/received_events","type":"User","site_admin":false},"created_at":"2018-08-03T14:55:11Z","updated_at":"2018-08-03T14:55:11Z","author_association":"NONE","body":"@jrobinso, your ES6 export in `dist/igv.es6.js` enables igv.js in to be used with React at (see https://github.com/eweitz/igv.js-react), but only after a modification of the package.json used in the [igv npm package](https://www.npmjs.com/package/igv).\r\n\r\npackage.json in igv@2.0.0-rc2 uses:\r\n> \"main\": \"dist/igv.min.js\"\r\n\r\nTo enable ES6 import in React and other popular JavaScript frameworks, that would need to be changed to:\r\n> \"main\": \"dist/igv.es6.js\"\r\n\r\nThe package.json for igv.js has no known dependents [in npm](https://github.com/igvteam/igv.js/network/dependents) or [in GitHub](https://www.npmjs.com/package/igv).  However, there are likely unknown dependents using `require` to import igv.min.js after installing the npm package, and enabling developers to use either `import` or `require` in such cases would be good.\r\n\r\nI think the next step here, for me, is to test how this ES6 export solution works when a package is installed via npm and imported via `require`."}}
{"actor":{"display_login":"eweitz"}}