Gradle, js, npm: fix reading package.json files
#KT-31788 Fixed
This commit is contained in:
+3
@@ -46,6 +46,9 @@ data class NpmDependency(
|
||||
|
||||
npmProject.resolve(item.key)?.let {
|
||||
all.add(it)
|
||||
if (it.path.endsWith(".js")) {
|
||||
all.add(File(it.path.removeSuffix(".js") + ".meta.js"))
|
||||
}
|
||||
}
|
||||
|
||||
if (transitive) {
|
||||
|
||||
+11
-3
@@ -60,9 +60,9 @@ internal open class NpmProjectModules(
|
||||
Gson().fromJson(it, JsonObject::class.java)
|
||||
}
|
||||
|
||||
packageJson["main"] as? String?
|
||||
?: packageJson["module"] as? String?
|
||||
?: packageJson["browser"] as? String?
|
||||
packageJson.getStringOrNull("main")
|
||||
?: packageJson.getStringOrNull("module")
|
||||
?: packageJson.getStringOrNull("browser")
|
||||
} else null
|
||||
|
||||
return if (main != null) {
|
||||
@@ -72,6 +72,14 @@ internal open class NpmProjectModules(
|
||||
} else resolveIndex(dir)
|
||||
}
|
||||
|
||||
private fun JsonObject.getStringOrNull(key: String): String? {
|
||||
val value = get(key)
|
||||
if (value == null || !value.isJsonPrimitive) return null
|
||||
val jsonPrimitive = value.asJsonPrimitive
|
||||
if (jsonPrimitive.isString) return jsonPrimitive.asString
|
||||
return null
|
||||
}
|
||||
|
||||
private fun resolveIndex(dir: File): File? = resolveAsFile(dir.resolve(INDEX_FILE_NAME))
|
||||
|
||||
private fun resolveAsFile(file: File): File? {
|
||||
|
||||
Reference in New Issue
Block a user