Skip to content

Commit bbb480b

Browse files
committed
feat(javascript): add language method to JsDependenciesSnapshot #81
This commit adds a new method called `language` to the `JsDependenciesSnapshot` class in the JavaScript codebase. The `language` method determines the language and version of the project by checking the presence of a `typescript` dependency in the `package.json` file. If `typescript` is found, the language is set to "TypeScript" and the version is extracted from the dependency. Otherwise, the language is set to "JavaScript" and the version is set to "ES5". This method provides information about the language used in the project.
1 parent 7792907 commit bbb480b

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

javascript/src/main/kotlin/cc/unitmesh/ide/javascript/JsDependenciesSnapshot.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,20 @@ class JsDependenciesSnapshot(
3939
return dependencies
4040
}
4141

42+
fun language(): String {
43+
var language = "JavaScript"
44+
var languageVersion = "ES5"
45+
46+
val packageJson = this.packages["typescript"]
47+
val tsVersion = packageJson?.parseVersion()
48+
if (tsVersion != null) {
49+
language = "TypeScript"
50+
languageVersion = tsVersion.rawVersion
51+
}
52+
53+
return "$language: $languageVersion"
54+
}
55+
4256
companion object {
4357
fun create(project: Project, psiFile: PsiFile?): JsDependenciesSnapshot {
4458
var packageJsonFiles = emptySet<VirtualFile>()

javascript/src/main/kotlin/cc/unitmesh/ide/javascript/provider/JavaScriptBuildSystemProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import com.intellij.openapi.project.guessProjectDir
1212

1313
class JavaScriptBuildSystemProvider : BuildSystemProvider() {
1414
override fun collect(project: Project): DockerfileContext? {
15-
val snapshot = JsDependenciesSnapshot.create(project, null?.sourceFile)
15+
val snapshot = JsDependenciesSnapshot.create(project, null)
1616
if (snapshot.packageJsonFiles.isEmpty()) {
1717
return null
1818
}

0 commit comments

Comments
 (0)