[Gradle, JS] Support custom display name in npm versions generator

^KT-42921 fixed
This commit is contained in:
Ilya Goncharov
2021-03-18 14:19:17 +03:00
committed by TeamCityServer
parent a291895ebe
commit 2fd8620551
3 changed files with 13 additions and 8 deletions
@@ -8,10 +8,12 @@ package org.jetbrains.kotlin.generators.gradle.targets.js
val npmPackages = listOf(
NpmPackage("dukat", "0.5.8-rc.4"),
NpmPackage("webpack"),
NpmPackage("webpack", "4.46.0", "webpack4"),
NpmPackage("webpack-cli"),
NpmPackage("webpack-bundle-analyzer"),
NpmPackage("webpack-dev-server"),
NpmPackage("source-map-loader"),
NpmPackage("source-map-loader", "1.1.3", "sourceMapLoader1"),
NpmPackage("source-map-support"),
NpmPackage("css-loader"),
NpmPackage("style-loader"),
@@ -34,5 +36,6 @@ val npmPackages = listOf(
data class NpmPackage(
val name: String,
val version: String? = null
val version: String? = null,
val displayName: String = name
)
@@ -22,10 +22,10 @@ class VersionFetcher : AutoCloseable {
return coroutineScope {
npmPackages
.filter { it.version != null }
.map { HardcodedPackageInformation(it.name, it.version!!) } +
.map { HardcodedPackageInformation(it.displayName, it.version!!) } +
npmPackages
.filter { it.version == null }
.map { async { fetchPackageInformationAsync(it.name) } }
.map { async { it.displayName to fetchPackageInformationAsync(it.name) } }
.map { fetched ->
val (packageName, value) = fetched.await()
val fetchedPackageInformation = Gson().fromJson(value, FetchedPackageInformation::class.java)
@@ -37,14 +37,16 @@ class VersionFetcher : AutoCloseable {
}
}
private suspend fun fetchPackageInformationAsync(packageName: String): Pair<String, String> {
private suspend fun fetchPackageInformationAsync(
packageName: String,
): String {
val packagePath =
if (packageName.startsWith("@"))
"@" + encodeURIComponent(packageName)
else
encodeURIComponent(packageName)
return (packageName to client.get<String>("http://registry.npmjs.org/$packagePath"))
return client.get("http://registry.npmjs.org/$packagePath")
}
override fun close() {
@@ -11,13 +11,13 @@ package org.jetbrains.kotlin.gradle.targets.js
// DO NOT MODIFY DIRECTLY! Use org.jetbrains.kotlin.generators.gradle.targets.js.MainKt
class NpmVersions {
val dukat = NpmPackageVersion("dukat", "0.5.8-rc.4")
val webpack = NpmPackageVersion("webpack", "5.26.2")
val webpack4 = NpmPackageVersion("webpack", "4.44.1")
val webpack4 = NpmPackageVersion("webpack4", "4.46.0")
val sourceMapLoader1 = NpmPackageVersion("sourceMapLoader1", "1.1.3")
val webpack = NpmPackageVersion("webpack", "5.26.3")
val webpackCli = NpmPackageVersion("webpack-cli", "4.5.0")
val webpackBundleAnalyzer = NpmPackageVersion("webpack-bundle-analyzer", "4.4.0")
val webpackDevServer = NpmPackageVersion("webpack-dev-server", "3.11.2")
val sourceMapLoader = NpmPackageVersion("source-map-loader", "2.0.1")
val sourceMapLoader1 = NpmPackageVersion("source-map-loader", "1.1.0")
val sourceMapSupport = NpmPackageVersion("source-map-support", "0.5.19")
val cssLoader = NpmPackageVersion("css-loader", "5.1.3")
val styleLoader = NpmPackageVersion("style-loader", "2.0.0")