{"action":"created","issue":{"url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs/issues/251","repository_url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs","labels_url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs/issues/251/labels{/name}","comments_url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs/issues/251/comments","events_url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs/issues/251/events","html_url":"https://github.com/sendgrid/sendgrid-nodejs/pull/251","id":162533879,"number":251,"title":"Add TypeScript typings definition file for v3 API","user":{"login":"SPARTAN563","id":1760260,"avatar_url":"https://avatars.githubusercontent.com/u/1760260?v=3","gravatar_id":"","url":"https://api.github.com/users/SPARTAN563","html_url":"https://github.com/SPARTAN563","followers_url":"https://api.github.com/users/SPARTAN563/followers","following_url":"https://api.github.com/users/SPARTAN563/following{/other_user}","gists_url":"https://api.github.com/users/SPARTAN563/gists{/gist_id}","starred_url":"https://api.github.com/users/SPARTAN563/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SPARTAN563/subscriptions","organizations_url":"https://api.github.com/users/SPARTAN563/orgs","repos_url":"https://api.github.com/users/SPARTAN563/repos","events_url":"https://api.github.com/users/SPARTAN563/events{/privacy}","received_events_url":"https://api.github.com/users/SPARTAN563/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs/labels/status:%20cla%20signed","name":"status: cla signed","color":"c5def5"},{"url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs/labels/type:%20enhancement","name":"type: enhancement","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-06-27T19:53:28Z","updated_at":"2016-08-10T14:32:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs/pulls/251","html_url":"https://github.com/sendgrid/sendgrid-nodejs/pull/251","diff_url":"https://github.com/sendgrid/sendgrid-nodejs/pull/251.diff","patch_url":"https://github.com/sendgrid/sendgrid-nodejs/pull/251.patch"},"body":"Hi guys,\r\n\r\nRecently updated an application of ours to use your 3.0.0 library and noticed there weren't any up to date typings files in the wild. Seeing as the current approach with TypeScript is to embed these definition files in their respective NPM modules, I've taken the time to put together a compatible set of type definitions for your library.\r\n\r\nIn addition to adding the raw type definitions, I've also taken the liberty of adding a quick test that ensures the definition file is well formatted, it should help ensure that things aren't broken accidentally going forward.\r\n\r\nAs far as manual verification of the typings file goes, aside from running your unit test suites through the TypeScript compiler to confirm that they comply with the typings file (always a good way to ensure the types match what's expected), we're also running these typings on a production system with no issues as yet.\r\n\r\nI'll ensure I sign the contributor license agreement and get that through to you guys, in the mean time if you wouldn't mind taking a look and letting me know if there's anything that stands out as being incorrect, or raising any issues you may have with this addition to the codebase.\r\n\r\n## Things that may be issues\r\n - There's now a devDependency on the TypeScript compiler. While it isn't significantly large, I notice you've tried to keep the number of dependencies you have to a minimum (build times I assume being the reason). We can easily remove it should you wish, however that will remove the ability to test that the definitions are indeed valid.\r\n - There's something else to manage as the API changes. Unfortunately that's not something one can do much about (aside from switching to TypeScript for the library, not really an option). What I've done previously with projects on which we hold a dependency is offer to assist in updating the definitions whenever the API does change. In exchange I just ask that any of the project leads try and keep me informed (using a CC) whenever they are aware of any API changes.\r\n\r\nKind regards and all the best,\r\nBenjamin"},"comment":{"url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs/issues/comments/238885476","html_url":"https://github.com/sendgrid/sendgrid-nodejs/pull/251#issuecomment-238885476","issue_url":"https://api.github.com/repos/sendgrid/sendgrid-nodejs/issues/251","id":238885476,"user":{"login":"CelsoSantos","id":1015506,"avatar_url":"https://avatars.githubusercontent.com/u/1015506?v=3","gravatar_id":"","url":"https://api.github.com/users/CelsoSantos","html_url":"https://github.com/CelsoSantos","followers_url":"https://api.github.com/users/CelsoSantos/followers","following_url":"https://api.github.com/users/CelsoSantos/following{/other_user}","gists_url":"https://api.github.com/users/CelsoSantos/gists{/gist_id}","starred_url":"https://api.github.com/users/CelsoSantos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CelsoSantos/subscriptions","organizations_url":"https://api.github.com/users/CelsoSantos/orgs","repos_url":"https://api.github.com/users/CelsoSantos/repos","events_url":"https://api.github.com/users/CelsoSantos/events{/privacy}","received_events_url":"https://api.github.com/users/CelsoSantos/received_events","type":"User","site_admin":false},"created_at":"2016-08-10T14:32:42Z","updated_at":"2016-08-10T14:32:42Z","body":"I too am writing an application in TypeScript and also need to use SendGrid. It's not that it's impossible to use without the Definition file, but it does become much harder has one has to constantly check on documentation instead of getting intellisense (in visual studio code) completions."}}
{"actor":{"display_login":"CelsoSantos"}}