diff --git a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/frontendApplication/build.gradle b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/frontendApplication/build.gradle index a00daa0a36d..6b3025e5bf9 100644 --- a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/frontendApplication/build.gradle +++ b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/frontendApplication/build.gradle @@ -18,12 +18,12 @@ dependencies { testImplementation 'org.jetbrains.kotlin:kotlin-test-js' implementation 'org.jetbrains.kotlin:kotlin-stdlib-js' implementation 'org.jetbrains.kotlinx:kotlinx-html-js:0.7.1' - implementation 'org.jetbrains:kotlin-react:16.13.0-pre.93-kotlin-1.4-M1' - implementation 'org.jetbrains:kotlin-react-dom:16.13.0-pre.93-kotlin-1.4-M1' + implementation 'org.jetbrains:kotlin-react:16.13.0-pre.93-kotlin-KOTLIN_VERSION' + implementation 'org.jetbrains:kotlin-react-dom:16.13.0-pre.93-kotlin-KOTLIN_VERSION' implementation npm('react','16.13.0') implementation npm('react-dom','16.13.0') implementation npm('react-is','16.13.0') - implementation 'org.jetbrains:kotlin-styled:1.0.0-pre.93-kotlin-1.4-M1' + implementation 'org.jetbrains:kotlin-styled:1.0.0-pre.93-kotlin-KOTLIN_VERSION' implementation npm('styled-components','5.0.0') implementation npm('inline-style-prefixer','5.1.0') } diff --git a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/frontendApplication/build.gradle.kts b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/frontendApplication/build.gradle.kts index 88b9be8d5ef..b597ce968ba 100644 --- a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/frontendApplication/build.gradle.kts +++ b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/frontendApplication/build.gradle.kts @@ -18,12 +18,12 @@ dependencies { testImplementation(kotlin("test-js")) implementation(kotlin("stdlib-js")) implementation("org.jetbrains.kotlinx:kotlinx-html-js:0.7.1") - implementation("org.jetbrains:kotlin-react:16.13.0-pre.93-kotlin-1.4-M1") - implementation("org.jetbrains:kotlin-react-dom:16.13.0-pre.93-kotlin-1.4-M1") + implementation("org.jetbrains:kotlin-react:16.13.0-pre.93-kotlin-KOTLIN_VERSION") + implementation("org.jetbrains:kotlin-react-dom:16.13.0-pre.93-kotlin-KOTLIN_VERSION") implementation(npm("react","16.13.0")) implementation(npm("react-dom","16.13.0")) implementation(npm("react-is","16.13.0")) - implementation("org.jetbrains:kotlin-styled:1.0.0-pre.93-kotlin-1.4-M1") + implementation("org.jetbrains:kotlin-styled:1.0.0-pre.93-kotlin-KOTLIN_VERSION") implementation(npm("styled-components","5.0.0")) implementation(npm("inline-style-prefixer","5.1.0")) } diff --git a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/fullStackWebApplication/build.gradle b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/fullStackWebApplication/build.gradle index b6f5cae3d2f..cdbb3c0884a 100644 --- a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/fullStackWebApplication/build.gradle +++ b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/fullStackWebApplication/build.gradle @@ -61,12 +61,12 @@ kotlin { dependencies { implementation kotlin('stdlib-js') implementation 'org.jetbrains.kotlinx:kotlinx-html-js:0.7.1' - implementation 'org.jetbrains:kotlin-react:16.13.0-pre.93-kotlin-1.4-M1' - implementation 'org.jetbrains:kotlin-react-dom:16.13.0-pre.93-kotlin-1.4-M1' + implementation 'org.jetbrains:kotlin-react:16.13.0-pre.93-kotlin-KOTLIN_VERSION' + implementation 'org.jetbrains:kotlin-react-dom:16.13.0-pre.93-kotlin-KOTLIN_VERSION' implementation npm('react','16.13.0') implementation npm('react-dom','16.13.0') implementation npm('react-is','16.13.0') - implementation 'org.jetbrains:kotlin-styled:1.0.0-pre.93-kotlin-1.4-M1' + implementation 'org.jetbrains:kotlin-styled:1.0.0-pre.93-kotlin-KOTLIN_VERSION' implementation npm('styled-components','5.0.0') implementation npm('inline-style-prefixer','5.1.0') } diff --git a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/fullStackWebApplication/build.gradle.kts b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/fullStackWebApplication/build.gradle.kts index 952b562f88f..456f8a06a4c 100644 --- a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/fullStackWebApplication/build.gradle.kts +++ b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/fullStackWebApplication/build.gradle.kts @@ -61,12 +61,12 @@ kotlin { dependencies { implementation(kotlin("stdlib-js")) implementation("org.jetbrains.kotlinx:kotlinx-html-js:0.7.1") - implementation("org.jetbrains:kotlin-react:16.13.0-pre.93-kotlin-1.4-M1") - implementation("org.jetbrains:kotlin-react-dom:16.13.0-pre.93-kotlin-1.4-M1") + implementation("org.jetbrains:kotlin-react:16.13.0-pre.93-kotlin-KOTLIN_VERSION") + implementation("org.jetbrains:kotlin-react-dom:16.13.0-pre.93-kotlin-KOTLIN_VERSION") implementation(npm("react","16.13.0")) implementation(npm("react-dom","16.13.0")) implementation(npm("react-is","16.13.0")) - implementation("org.jetbrains:kotlin-styled:1.0.0-pre.93-kotlin-1.4-M1") + implementation("org.jetbrains:kotlin-styled:1.0.0-pre.93-kotlin-KOTLIN_VERSION") implementation(npm("styled-components","5.0.0")) implementation(npm("inline-style-prefixer","5.1.0")) } diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/Versions.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/Versions.kt index 44e5cab16aa..c2a33127e88 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/Versions.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/Versions.kt @@ -24,9 +24,9 @@ object Versions { } object JS_WRAPPERS { - val KOTLIN_REACT = version("16.13.0-pre.93-kotlin-1.4-M1") + val KOTLIN_REACT: (kotlinVersion: Version) -> Version = { kotlinVersion -> version("16.13.0-pre.93-kotlin-$kotlinVersion") } val KOTLIN_REACT_DOM = KOTLIN_REACT - val KOTLIN_STYLED = version("1.0.0-pre.93-kotlin-1.4-M1") + val KOTLIN_STYLED: (kotlinVersion: Version) -> Version = { kotlinVersion -> version("1.0.0-pre.93-kotlin-$kotlinVersion") } } object NPM { diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt index ecca5b04854..eca80d8bb72 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt @@ -29,6 +29,7 @@ import org.jetbrains.kotlin.tools.projectWizard.transformers.interceptors.Templa import org.jetbrains.kotlin.tools.projectWizard.transformers.interceptors.interceptTemplate import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle import org.jetbrains.kotlin.tools.projectWizard.Versions +import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.KotlinPlugin class SimpleJsClientTemplate : Template() { override val title: String = KotlinNewProjectWizardBundle.message("module.template.js.simple.title") @@ -75,14 +76,15 @@ class SimpleJsClientTemplate : Template() { DependencyType.MAIN ) + val kotlinVersion = KotlinPlugin::version.propertyValue if (renderEngine.reference.settingValue != RenderEngine.KOTLINX_HTML) { - +Dependencies.KOTLIN_REACT - +Dependencies.KOTLIN_REACT_DOM + +Dependencies.KOTLIN_REACT(kotlinVersion) + +Dependencies.KOTLIN_REACT_DOM(kotlinVersion) +Dependencies.NPM_REACT +Dependencies.NPM_REACT_DOM if (renderEngine.reference.settingValue == RenderEngine.REACT_WITH_STYLED) { +Dependencies.NPM_REACT_IS - +Dependencies.KOTLIN_STYLED + +Dependencies.KOTLIN_STYLED(kotlinVersion) +Dependencies.NPM_STYLED_COMPONENTS +Dependencies.NPM_INLINE_STYLE_PREFIXER } @@ -245,21 +247,27 @@ class SimpleJsClientTemplate : Template() { } private object Dependencies { - val KOTLIN_REACT = ArtifactBasedLibraryDependencyIR( - MavenArtifact(Repositories.KOTLIN_JS_WRAPPERS_BINTRAY, "org.jetbrains", "kotlin-react"), - Versions.JS_WRAPPERS.KOTLIN_REACT, - DependencyType.MAIN - ) - val KOTLIN_REACT_DOM = ArtifactBasedLibraryDependencyIR( - MavenArtifact(Repositories.KOTLIN_JS_WRAPPERS_BINTRAY, "org.jetbrains", "kotlin-react-dom"), - Versions.JS_WRAPPERS.KOTLIN_REACT_DOM, - DependencyType.MAIN - ) - val KOTLIN_STYLED = ArtifactBasedLibraryDependencyIR( - MavenArtifact(Repositories.KOTLIN_JS_WRAPPERS_BINTRAY, "org.jetbrains", "kotlin-styled"), - Versions.JS_WRAPPERS.KOTLIN_STYLED, - DependencyType.MAIN - ) + val KOTLIN_REACT = { kotlinVersion: Version -> + ArtifactBasedLibraryDependencyIR( + MavenArtifact(Repositories.KOTLIN_JS_WRAPPERS_BINTRAY, "org.jetbrains", "kotlin-react"), + Versions.JS_WRAPPERS.KOTLIN_REACT(kotlinVersion), + DependencyType.MAIN + ) + } + val KOTLIN_REACT_DOM = { kotlinVersion: Version -> + ArtifactBasedLibraryDependencyIR( + MavenArtifact(Repositories.KOTLIN_JS_WRAPPERS_BINTRAY, "org.jetbrains", "kotlin-react-dom"), + Versions.JS_WRAPPERS.KOTLIN_REACT_DOM(kotlinVersion), + DependencyType.MAIN + ) + } + val KOTLIN_STYLED = { kotlinVersion: Version -> + ArtifactBasedLibraryDependencyIR( + MavenArtifact(Repositories.KOTLIN_JS_WRAPPERS_BINTRAY, "org.jetbrains", "kotlin-styled"), + Versions.JS_WRAPPERS.KOTLIN_STYLED(kotlinVersion), + DependencyType.MAIN + ) + } val NPM_REACT = ArtifactBasedLibraryDependencyIR( NpmArtifact("react"),