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 {
|
npmProject.resolve(item.key)?.let {
|
||||||
all.add(it)
|
all.add(it)
|
||||||
|
if (it.path.endsWith(".js")) {
|
||||||
|
all.add(File(it.path.removeSuffix(".js") + ".meta.js"))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (transitive) {
|
if (transitive) {
|
||||||
|
|||||||
+11
-3
@@ -60,9 +60,9 @@ internal open class NpmProjectModules(
|
|||||||
Gson().fromJson(it, JsonObject::class.java)
|
Gson().fromJson(it, JsonObject::class.java)
|
||||||
}
|
}
|
||||||
|
|
||||||
packageJson["main"] as? String?
|
packageJson.getStringOrNull("main")
|
||||||
?: packageJson["module"] as? String?
|
?: packageJson.getStringOrNull("module")
|
||||||
?: packageJson["browser"] as? String?
|
?: packageJson.getStringOrNull("browser")
|
||||||
} else null
|
} else null
|
||||||
|
|
||||||
return if (main != null) {
|
return if (main != null) {
|
||||||
@@ -72,6 +72,14 @@ internal open class NpmProjectModules(
|
|||||||
} else resolveIndex(dir)
|
} 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 resolveIndex(dir: File): File? = resolveAsFile(dir.resolve(INDEX_FILE_NAME))
|
||||||
|
|
||||||
private fun resolveAsFile(file: File): File? {
|
private fun resolveAsFile(file: File): File? {
|
||||||
|
|||||||
Reference in New Issue
Block a user