Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ object Languages {

// Support startdate: Always
case object Javascript
extends Language(extensions = Set(".js", ".jsx", ".jsm", ".vue", ".mjs"),
extends Language(extensions = Set(".js", ".jsx", ".jsm", ".vue", ".mjs", ".cjs"),
files = Set("package.json", "package-lock.json", "yarn.lock", "pnpm-lock.yaml"))

case object Scala extends Language(extensions = Set(".scala"), files = Set("build.sbt.lock"))
Expand Down Expand Up @@ -145,7 +145,8 @@ object Languages {

// Support startdate: 24 November 2016
case object TypeScript
extends Language(extensions = Set(".ts", ".tsx"), files = Set("package.json", "package-lock.json", "yarn.lock"))
extends Language(extensions = Set(".ts", ".tsx", ".mts", ".cts"),
files = Set("package.json", "package-lock.json", "yarn.lock"))

// Support startdate: December 2016
case object Dockerfile extends Language(extensions = Set(".dockerfile"), files = Set("Dockerfile"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ class LanguageSpec extends AnyWordSpec with Matchers with OptionValues {
Languages.forPath("src/File3.mjs").value shouldBe Languages.Javascript
}

"forPath resolves the Node.js module-format extensions" in {
// CommonJS / ES module variants: .cjs/.mjs for JavaScript, .cts/.mts for TypeScript
Languages.forPath("scripts/count-issues.cjs").value shouldBe Languages.Javascript
Languages.forPath("src/index.mts").value shouldBe Languages.TypeScript
Languages.forPath("src/config.cts").value shouldBe Languages.TypeScript
}

"forPath resolves extensions case-insensitively" in {
// extensions are stored lowercase; lookup lowercases the file's extension too
Languages.forPath("src/analysis.R").value shouldBe Languages.R
Expand Down