{"action":"created","issue":{"url":"https://api.github.com/repos/avajs/ava/issues/1005","repository_url":"https://api.github.com/repos/avajs/ava","labels_url":"https://api.github.com/repos/avajs/ava/issues/1005/labels{/name}","comments_url":"https://api.github.com/repos/avajs/ava/issues/1005/comments","events_url":"https://api.github.com/repos/avajs/ava/issues/1005/events","html_url":"https://github.com/avajs/ava/issues/1005","id":171474842,"number":1005,"title":"Is the TypeScript type definition wrong?","user":{"login":"SamVerschueren","id":1913805,"avatar_url":"https://avatars.githubusercontent.com/u/1913805?v=3","gravatar_id":"","url":"https://api.github.com/users/SamVerschueren","html_url":"https://github.com/SamVerschueren","followers_url":"https://api.github.com/users/SamVerschueren/followers","following_url":"https://api.github.com/users/SamVerschueren/following{/other_user}","gists_url":"https://api.github.com/users/SamVerschueren/gists{/gist_id}","starred_url":"https://api.github.com/users/SamVerschueren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SamVerschueren/subscriptions","organizations_url":"https://api.github.com/users/SamVerschueren/orgs","repos_url":"https://api.github.com/users/SamVerschueren/repos","events_url":"https://api.github.com/users/SamVerschueren/events{/privacy}","received_events_url":"https://api.github.com/users/SamVerschueren/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/avajs/ava/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-08-16T17:40:10Z","updated_at":"2016-08-17T17:29:22Z","closed_at":null,"body":"As follow-up of a discussion started in #986, is the TypeScript definition wrong?\r\n\r\nThe definition is quite huge, ~1200 lines. The main reason for this is because it prevents TS users to do things like `test.serial.serial` or `test.before.after`, etc. But as noted by @thejameskyle, this isn't really representing the runtime structure of AVA.\r\n\r\n> Also `test.serial.serial` is not an invalid combination. option-chain is designed so that the latter properties in the chain take precedence.\r\n\r\nSo although it looks weird and nobody should do it, it's perfectly possible and maybe shouldn't be restricted by the type definition?\r\n\r\nThese things should/can be prevented by the AVA ESLint rule. This means off course, we should create a AVA TSLint rule as well.\r\n\r\nJust wanted to start the discussion over here. Everybody that has useful insights, feedback or whatever, feel free to chime in.\r\n\r\n// @ivogabe @sindresorhus @novemberborn @jamestalmage "},"comment":{"url":"https://api.github.com/repos/avajs/ava/issues/comments/240485331","html_url":"https://github.com/avajs/ava/issues/1005#issuecomment-240485331","issue_url":"https://api.github.com/repos/avajs/ava/issues/1005","id":240485331,"user":{"login":"novemberborn","id":33538,"avatar_url":"https://avatars.githubusercontent.com/u/33538?v=3","gravatar_id":"","url":"https://api.github.com/users/novemberborn","html_url":"https://github.com/novemberborn","followers_url":"https://api.github.com/users/novemberborn/followers","following_url":"https://api.github.com/users/novemberborn/following{/other_user}","gists_url":"https://api.github.com/users/novemberborn/gists{/gist_id}","starred_url":"https://api.github.com/users/novemberborn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/novemberborn/subscriptions","organizations_url":"https://api.github.com/users/novemberborn/orgs","repos_url":"https://api.github.com/users/novemberborn/repos","events_url":"https://api.github.com/users/novemberborn/events{/privacy}","received_events_url":"https://api.github.com/users/novemberborn/received_events","type":"User","site_admin":false},"created_at":"2016-08-17T17:29:22Z","updated_at":"2016-08-17T17:29:22Z","body":"@thejameskyle if I'm not mistaken, currently our `option-chain` usage allows confusing combinations like `test.after.beforeEach`. I'd like that to raise an error. With typed JS flavors we should be able to exclude those combinations entirely."}}
{"actor":{"display_login":"novemberborn"}}