{"action":"closed","issue":{"url":"https://api.github.com/repos/showdownjs/showdown/issues/80","labels_url":"https://api.github.com/repos/showdownjs/showdown/issues/80/labels{/name}","comments_url":"https://api.github.com/repos/showdownjs/showdown/issues/80/comments","events_url":"https://api.github.com/repos/showdownjs/showdown/issues/80/events","html_url":"https://github.com/showdownjs/showdown/issues/80","id":25263644,"number":80,"title":"Grunt lint task needs to be updated with Grunt upgrade.","user":{"login":"nicovalencia","id":139786,"avatar_url":"https://avatars.githubusercontent.com/u/139786?v=3","gravatar_id":"","url":"https://api.github.com/users/nicovalencia","html_url":"https://github.com/nicovalencia","followers_url":"https://api.github.com/users/nicovalencia/followers","following_url":"https://api.github.com/users/nicovalencia/following{/other_user}","gists_url":"https://api.github.com/users/nicovalencia/gists{/gist_id}","starred_url":"https://api.github.com/users/nicovalencia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicovalencia/subscriptions","organizations_url":"https://api.github.com/users/nicovalencia/orgs","repos_url":"https://api.github.com/users/nicovalencia/repos","events_url":"https://api.github.com/users/nicovalencia/events{/privacy}","received_events_url":"https://api.github.com/users/nicovalencia/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"tivie","id":1608730,"avatar_url":"https://avatars.githubusercontent.com/u/1608730?v=3","gravatar_id":"","url":"https://api.github.com/users/tivie","html_url":"https://github.com/tivie","followers_url":"https://api.github.com/users/tivie/followers","following_url":"https://api.github.com/users/tivie/following{/other_user}","gists_url":"https://api.github.com/users/tivie/gists{/gist_id}","starred_url":"https://api.github.com/users/tivie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tivie/subscriptions","organizations_url":"https://api.github.com/users/tivie/orgs","repos_url":"https://api.github.com/users/tivie/repos","events_url":"https://api.github.com/users/tivie/events{/privacy}","received_events_url":"https://api.github.com/users/tivie/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2014-01-08T19:03:56Z","updated_at":"2015-01-06T21:00:14Z","closed_at":"2015-01-06T21:00:14Z","body":"The current Grunt lint test isn't identifying issues properly, and should probably just be substituted with grunt-contrib-jshint when Grunt is upgraded. This will identify a handfull of errors (below) that need to be cleaned up.\r\n\r\n```\r\nRunning \"jshint:src\" (jshint) task\r\nLinting src/showdown.js ...ERROR\r\n[L120:C19] W122: Invalid typeof value 'undefind'\r\nif (typeof module !== 'undefind' && typeof exports !== 'undefined' && typeof require !== 'undefind') {\r\n[L120:C86] W122: Invalid typeof value 'undefind'\r\nif (typeof module !== 'undefind' && typeof exports !== 'undefined' && typeof require !== 'undefind') {\r\n[L272:C4] W099: Mixed spaces and tabs.\r\n          [ \\t]*\r\n[L273:C4] W099: Mixed spaces and tabs.\r\n          \\n?        // maybe one newline\r\n[L274:C4] W099: Mixed spaces and tabs.\r\n          [ \\t]*\r\n[L276:C4] W099: Mixed spaces and tabs.\r\n          [ \\t]*\r\n[L277:C4] W099: Mixed spaces and tabs.\r\n          \\n?        // maybe one newline\r\n[L278:C4] W099: Mixed spaces and tabs.\r\n          [ \\t]*\r\n[L280:C4] W099: Mixed spaces and tabs.\r\n          (\\n*)        // any lines skipped = $3 attacklab: lookbehind removed\r\n[L281:C4] W099: Mixed spaces and tabs.\r\n          [\"(]\r\n[L282:C4] W099: Mixed spaces and tabs.\r\n          (.+?)        // title = $4\r\n[L283:C4] W099: Mixed spaces and tabs.\r\n          [\")]\r\n[L284:C4] W099: Mixed spaces and tabs.\r\n          [ \\t]*\r\n[L287:C3] W099: Mixed spaces and tabs.\r\n        /gm,\r\n[L288:C3] W099: Mixed spaces and tabs.\r\n        function(){...});\r\n[L315:C2] W033: Missing semicolon.\r\n}\r\n[L440:C2] W033: Missing semicolon.\r\n}\r\n[L512:C2] W033: Missing semicolon.\r\n}\r\n[L531:C2] W033: Missing semicolon.\r\n}\r\n[L606:C5] W099: Mixed spaces and tabs.\r\n    (               // wrap whole match in $1\r\n[L616:C2] W033: Missing semicolon.\r\n}\r\n[L619:C12] W041: Use '===' to compare with 'undefined'.\r\n  if (m7 == undefined) m7 = \"\";\r\n[L622:C13] W099: Mixed spaces and tabs.\r\n  var link_id   = m3.toLowerCase();\r\n[L626:C13] W041: Use '===' to compare with ''.\r\n  if (url == \"\") {\r\n[L627:C21] W041: Use '===' to compare with ''.\r\n    if (link_id == \"\") {\r\n[L633:C29] W041: Use '!==' to compare with 'undefined'.\r\n    if (g_urls[link_id] != undefined) {\r\n[L635:C35] W041: Use '!==' to compare with 'undefined'.\r\n      if (g_titles[link_id] != undefined) {\r\n[L652:C15] W041: Use '!==' to compare with ''.\r\n  if (title != \"\") {\r\n[L661:C2] W033: Missing semicolon.\r\n}\r\n[L720:C2] W033: Missing semicolon.\r\n}\r\n[L725:C13] W099: Mixed spaces and tabs.\r\n  var link_id   = m3.toLowerCase();\r\n[L731:C13] W041: Use '===' to compare with ''.\r\n  if (url == \"\") {\r\n[L732:C21] W041: Use '===' to compare with ''.\r\n    if (link_id == \"\") {\r\n[L738:C29] W041: Use '!==' to compare with 'undefined'.\r\n    if (g_urls[link_id] != undefined) {\r\n[L740:C35] W041: Use '!==' to compare with 'undefined'.\r\n      if (g_titles[link_id] != undefined) {\r\n[L765:C2] W033: Missing semicolon.\r\n}\r\n[L812:C2] W033: Missing semicolon.\r\n}\r\n[L858:C53] W032: Unnecessary semicolon.\r\n      list = list.replace(/\\n{2,}/g,\"\\n\\n\\n\");;\r\n[L878:C22] W004: 'list' is already defined.\r\n      var list = list.replace(/\\n{2,}/g,\"\\n\\n\\n\");;\r\n[L878:C57] W032: Unnecessary semicolon.\r\n      var list = list.replace(/\\n{2,}/g,\"\\n\\n\\n\");;\r\n[L889:C2] W033: Missing semicolon.\r\n}\r\n[L960:C2] W033: Missing semicolon.\r\n}\r\n[L1041:C2] W033: Missing semicolon.\r\n}\r\n[L1046:C2] W033: Missing semicolon.\r\n}\r\n[L1053:C3] W099: Mixed spaces and tabs.\r\n//   include literal backticks in the code span. So, this input:\r\n[L1055:C4] W099: Mixed spaces and tabs.\r\n//     Just type ``foo `bar` baz`` at the prompt.\r\n[L1057:C3] W099: Mixed spaces and tabs.\r\n//     Will translate to:\r\n[L1059:C4] W099: Mixed spaces and tabs.\r\n//     <p>Just type <code>foo `bar` baz</code> at the prompt.</p>\r\n[L1067:C4] W099: Mixed spaces and tabs.\r\n//     ... type `` `bar` `` ...\r\n[L1069:C3] W099: Mixed spaces and tabs.\r\n//     Turns to:\r\n>> Too many errors. (73% scanned).\r\n```\r\n\r\nI'm working on getting this all cleaned up :potable_water: "}}