diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index a1e2ed2f67..ab85eaab69 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -8036,6 +8036,8 @@ TypeScript: - deno - ts-node - tsx + - node + - nodejs extensions: - ".ts" - ".cts" diff --git a/test/test_strategies.rb b/test/test_strategies.rb index b5fb23196b..f50c55e731 100644 --- a/test/test_strategies.rb +++ b/test/test_strategies.rb @@ -200,4 +200,14 @@ def test_xml assert_xml "test/fixtures/XML/app.config" assert_xml "test/fixtures/XML/AssertionIDRequestOptionalAttributes.xml.svn-base" end + + def test_shebang_typescript_with_node + ts_node = Blob.new("script.ts", "#!/usr/bin/env node\nconsole.log('hi')") + ts_nodejs = Blob.new("script.ts", "#!/usr/bin/env nodejs\nconsole.log('hi')") + js_node = Blob.new("script.js", "#!/usr/bin/env node\nconsole.log('hi')") + + assert_equal Language["TypeScript"], Linguist.detect(ts_node) + assert_equal Language["TypeScript"], Linguist.detect(ts_nodejs) + assert_equal Language["JavaScript"], Linguist.detect(js_node) + end end