[JS, Wizard] Add react template plugin
^KT-41417 fixed
This commit is contained in:
+6
-1
@@ -28,7 +28,9 @@ import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType
|
||||
import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModulesToIrConversionData
|
||||
import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module
|
||||
import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.ModuleKind
|
||||
import org.jetbrains.kotlin.tools.projectWizard.templates.ReactJsClientTemplate
|
||||
import org.jetbrains.kotlin.tools.projectWizard.templates.SimpleJsClientTemplate
|
||||
import org.jetbrains.kotlin.tools.projectWizard.templates.SimpleNodeJsTemplate
|
||||
import java.nio.file.Path
|
||||
|
||||
interface JSConfigurator : ModuleConfiguratorWithModuleType, ModuleConfiguratorWithSettings {
|
||||
@@ -54,7 +56,10 @@ interface JSConfigurator : ModuleConfiguratorWithModuleType, ModuleConfiguratorW
|
||||
filter = filter@{ reference, kindCandidate ->
|
||||
when {
|
||||
reference !is ModuleConfiguratorSettingReference<*, *> -> false
|
||||
kindCandidate == JsTargetKind.LIBRARY && reference.module?.template is SimpleJsClientTemplate -> false
|
||||
kindCandidate == JsTargetKind.LIBRARY
|
||||
&& (reference.module?.template is SimpleJsClientTemplate ||
|
||||
reference.module?.template is ReactJsClientTemplate ||
|
||||
reference.module?.template is SimpleNodeJsTemplate) -> false
|
||||
else -> true
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -30,6 +30,7 @@ object Plugins {
|
||||
ConsoleJvmApplicationTemplatePlugin(context),
|
||||
KtorTemplatesPlugin(context),
|
||||
JsTemplatesPlugin(context),
|
||||
ReactJsTemplatesPlugin(context),
|
||||
SimpleNodeJsTemplatesPlugin(context),
|
||||
NativeConsoleApplicationTemplatePlugin(context)
|
||||
)
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package org.jetbrains.kotlin.tools.projectWizard.plugins.templates
|
||||
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.Context
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.PluginSettingsOwner
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.entity.PipelineTask
|
||||
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase
|
||||
import org.jetbrains.kotlin.tools.projectWizard.templates.ReactJsClientTemplate
|
||||
import org.jetbrains.kotlin.tools.projectWizard.templates.SimpleJsClientTemplate
|
||||
|
||||
class ReactJsTemplatesPlugin(context: Context) : TemplatePlugin(context) {
|
||||
override val path = pluginPath
|
||||
|
||||
override val pipelineTasks: List<PipelineTask> = super.pipelineTasks +
|
||||
listOf(
|
||||
addTemplate,
|
||||
)
|
||||
|
||||
companion object : PluginSettingsOwner() {
|
||||
override val pluginPath = "template.reactJsTemplates"
|
||||
|
||||
val addTemplate by pipelineTask(GenerationPhase.PREPARE) {
|
||||
withAction {
|
||||
TemplatesPlugin.addTemplate.execute(ReactJsClientTemplate())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.tools.projectWizard.core.Context
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.PluginSettingsOwner
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.entity.PipelineTask
|
||||
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase
|
||||
import org.jetbrains.kotlin.tools.projectWizard.templates.KtorServerTemplate
|
||||
import org.jetbrains.kotlin.tools.projectWizard.templates.SimpleNodeJsTemplate
|
||||
|
||||
class SimpleNodeJsTemplatesPlugin(context: Context) : TemplatePlugin(context) {
|
||||
@@ -17,7 +16,7 @@ class SimpleNodeJsTemplatesPlugin(context: Context) : TemplatePlugin(context) {
|
||||
|
||||
override val pipelineTasks: List<PipelineTask> = super.pipelineTasks +
|
||||
listOf(
|
||||
KtorTemplatesPlugin.addTemplate,
|
||||
addTemplate,
|
||||
)
|
||||
|
||||
companion object : PluginSettingsOwner() {
|
||||
|
||||
Reference in New Issue
Block a user