[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.plugins.kotlin.ModulesToIrConversionData
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module
|
import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.ModuleKind
|
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.SimpleJsClientTemplate
|
||||||
|
import org.jetbrains.kotlin.tools.projectWizard.templates.SimpleNodeJsTemplate
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
|
|
||||||
interface JSConfigurator : ModuleConfiguratorWithModuleType, ModuleConfiguratorWithSettings {
|
interface JSConfigurator : ModuleConfiguratorWithModuleType, ModuleConfiguratorWithSettings {
|
||||||
@@ -54,7 +56,10 @@ interface JSConfigurator : ModuleConfiguratorWithModuleType, ModuleConfiguratorW
|
|||||||
filter = filter@{ reference, kindCandidate ->
|
filter = filter@{ reference, kindCandidate ->
|
||||||
when {
|
when {
|
||||||
reference !is ModuleConfiguratorSettingReference<*, *> -> false
|
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
|
else -> true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
@@ -30,6 +30,7 @@ object Plugins {
|
|||||||
ConsoleJvmApplicationTemplatePlugin(context),
|
ConsoleJvmApplicationTemplatePlugin(context),
|
||||||
KtorTemplatesPlugin(context),
|
KtorTemplatesPlugin(context),
|
||||||
JsTemplatesPlugin(context),
|
JsTemplatesPlugin(context),
|
||||||
|
ReactJsTemplatesPlugin(context),
|
||||||
SimpleNodeJsTemplatesPlugin(context),
|
SimpleNodeJsTemplatesPlugin(context),
|
||||||
NativeConsoleApplicationTemplatePlugin(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.PluginSettingsOwner
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.core.entity.PipelineTask
|
import org.jetbrains.kotlin.tools.projectWizard.core.entity.PipelineTask
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase
|
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.templates.KtorServerTemplate
|
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.templates.SimpleNodeJsTemplate
|
import org.jetbrains.kotlin.tools.projectWizard.templates.SimpleNodeJsTemplate
|
||||||
|
|
||||||
class SimpleNodeJsTemplatesPlugin(context: Context) : TemplatePlugin(context) {
|
class SimpleNodeJsTemplatesPlugin(context: Context) : TemplatePlugin(context) {
|
||||||
@@ -17,7 +16,7 @@ class SimpleNodeJsTemplatesPlugin(context: Context) : TemplatePlugin(context) {
|
|||||||
|
|
||||||
override val pipelineTasks: List<PipelineTask> = super.pipelineTasks +
|
override val pipelineTasks: List<PipelineTask> = super.pipelineTasks +
|
||||||
listOf(
|
listOf(
|
||||||
KtorTemplatesPlugin.addTemplate,
|
addTemplate,
|
||||||
)
|
)
|
||||||
|
|
||||||
companion object : PluginSettingsOwner() {
|
companion object : PluginSettingsOwner() {
|
||||||
|
|||||||
Reference in New Issue
Block a user