Skip to content

Commit d24b458

Browse files
committed
feat(javascript): detect build tool and framework dynamically
Add logic to detect build tool (Vite) and framework (Vue, React, Angular, Next.js) based on project dependencies in `JavaScriptBuildSystemProvider.kt`.
1 parent 1d9f31f commit d24b458

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

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

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class JavaScriptBuildSystemProvider : BuildSystemProvider() {
1919

2020
var language = "JavaScript"
2121
var languageVersion = "ES5"
22-
val buildTool = "NPM"
22+
var buildTool = "NPM"
2323

2424
val packageJson = snapshot.packages["typescript"]
2525
val tsVersion = packageJson?.parseVersion()
@@ -28,6 +28,22 @@ class JavaScriptBuildSystemProvider : BuildSystemProvider() {
2828
languageVersion = tsVersion.rawVersion
2929
}
3030

31+
// vite
32+
if (snapshot.packages.containsKey("vite")) {
33+
buildTool = "Vite"
34+
}
35+
36+
// vue,react,angular,nextjs
37+
if (snapshot.packages.containsKey("vue")) {
38+
language = "Vue"
39+
} else if (snapshot.packages.containsKey("react")) {
40+
language = "React"
41+
} else if (snapshot.packages.containsKey("angular")) {
42+
language = "Angular"
43+
} else if (snapshot.packages.containsKey("next")) {
44+
language = "Next.js"
45+
}
46+
3147
var taskString = ""
3248
runReadAction {
3349
val root = PackageJsonUtil.findChildPackageJsonFile(project.guessProjectDir()) ?: return@runReadAction

0 commit comments

Comments
 (0)