UNPKG

@nxrocks/nx-ktor

Version:

Nx plugin to generate, run, package, build (and more) Ktor projects inside your Nx workspace

188 lines (187 loc) 5.44 kB
{ "$schema": "http://json-schema.org/schema", "$id": "@nxrocks/nx-ktor:preset", "title": "Creates Ktor project in a new workspace", "type": "object", "cli": "nx", "outputCapture": "pipe", "properties": { "prjName": { "type": "string", "description": "The location of the new project.", "alias": "projectLocation" }, "directory": { "type": "string", "description": "The directory of the new project.", "alias": "dir", "$default": { "$source": "argv", "index": 0 }, "x-prompt": "Which directory do you want to create the project in?" }, "ktorVersion": { "description": "Ktor version.", "type": "string", "default": "3.0.3" }, "buildSystem": { "description": "Build system to use.", "alias": "type", "default": "GRADLE_KTS", "type": "string", "x-prompt": { "message": "Which build system would you like to use?", "type": "list", "items": [ { "value": "MAVEN", "label": "Maven" }, { "value": "GRADLE", "label": "Gradle" }, { "value": "GRADLE_KTS", "label": "Gradle Kotlin" } ] }, "x-priority": "important" }, "kotlinVersion": { "description": "Kotlin version.", "type": "string", "default": "2.1.10" }, "engine": { "description": "Engine to use to serve the application.", "type": "string", "default": "NETTY", "enum": ["NETTY", "JETTY", "CIO", "TOMCAT"], "x-prompt": { "message": "Which engine(application server) would you like to use?", "type": "list", "items": [ { "value": "NETTY", "label": "Netty" }, { "value": "JETTY", "label": "Jetty" }, { "value": "CIO", "label": "Cio" }, { "value": "TOMCAT", "label": "Tomcat" } ] }, "x-priority": "important" }, "groupId": { "description": "Group Id of the project.", "type": "string", "default": "com.example", "x-prompt": "What groupId would you like to use?", "x-priority": "important" }, "artifactId": { "description": "Artifact Id of the project.", "type": "string", "default": "demo", "x-prompt": "What artifactId would you like to use?", "x-priority": "important" }, "name": { "type": "string", "description": "Name of the project.", "alias": "projectName", "pattern": "^[a-zA-Z][^:]*$", "x-priority": "important" }, "configurationLocation": { "description": "Configuratin Location.", "type": "string", "default": "CODE", "enum": ["YAML", "HOCON", "CODE"], "x-prompt": { "message": "Where would you like to put the configuration in?", "type": "list", "items": [ { "value": "YAML", "label": "YAML file" }, { "value": "HOCON", "label": "HOCON file" }, { "value": "CODE", "label": "Code" } ] }, "x-priority": "important" }, "skipFormat": { "description": "Skip formatting files (using Spotless plugin).", "type": "boolean", "default": true, "x-priority": "internal" }, "skipCodeSamples": { "description": "Skip genetating code samples.", "type": "boolean", "default": false, "x-prompt": "Would you like to include code samples?" }, "features": { "description": "Features to use in the project(comma-separated). Follow this guide https://t.ly/s9bo for more instructions on how to proceed.", "type": "string", "x-priority": "important" }, "transformIntoMultiModule": { "description": "Transform the project into a multi-module project. Follow this guide https://t.ly/dZelN for more information.", "type": "boolean" }, "addToExistingParentModule": { "description": "Add the project into an existing parent module project. Follow this guide https://t.ly/dZelN for more information.", "type": "boolean" }, "parentModuleName": { "description": "Name of the parent module to create or to add child project into.", "type": "string" }, "keepProjectLevelWrapper": { "description": "Keep the `Maven` or `Gradle` wrapper files from child project (when generating a multi-module project). Follow this guide https://t.ly/dZelN for more information.", "type": "boolean", "default": true }, "ktorInitializrUrl": { "type": "string", "default": "https://start.ktor.io", "description": "The URL to the Ktor Initializr instance to use to generate the project.", "x-priority": "internal" }, "proxyUrl": { "type": "string", "description": "The URL of the (corporate) proxy server to use to access Ktor Initializr.", "x-priority": "internal" }, "tags": { "type": "string", "description": "Add tags to the project (used for linting).", "alias": "t", "x-priority": "internal" } }, "required": [] }