UNPKG

@nxrocks/nx-quarkus

Version:

Nx Plugin to generate, run, package, build (and more) Quarkus projects inside your Nx workspace

65 lines 3.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_QUARKUS_INITIALIZR_URL = void 0; exports.runQuarkusPluginCommand = runQuarkusPluginCommand; exports.buildQuarkusDownloadUrl = buildQuarkusDownloadUrl; exports.isQuarkusProject = isQuarkusProject; exports.fetchQuarkusExtensions = fetchQuarkusExtensions; const index_1 = require("../index"); const common_jvm_1 = require("@nxrocks/common-jvm"); const constants_1 = require("../core/constants"); const node_fetch_1 = require("node-fetch"); const getBuilder = (cwd) => { if ((0, common_jvm_1.hasMavenProject)(cwd)) return constants_1.MAVEN_BUILDER; if ((0, common_jvm_1.hasGradleProject)(cwd)) return constants_1.GRADLE_BUILDER; throw new Error(`Cannot determine the build system. No 'pom.xml' nor 'build.gradle' file found under '${cwd}'`); }; exports.DEFAULT_QUARKUS_INITIALIZR_URL = 'https://code.quarkus.io'; function runQuarkusPluginCommand(commandAlias, params, options = { cwd: process.cwd(), ignoreWrapper: false, runFromParentModule: false }) { return (0, common_jvm_1.runBuilderCommand)(commandAlias, getBuilder, params, options); } function buildQuarkusDownloadUrl(options) { const params = [ { key: 'b', value: options.buildSystem }, { key: 'j', value: options.javaVersion }, { key: 'g', value: options.groupId }, { key: 'a', value: options.artifactId }, { key: 'v', value: options.version }, { key: 'ne', value: options.skipCodeSamples }, ].filter((e) => typeof e.value !== 'undefined'); const extensions = options.projectExtensions .map((ext) => `e=${ext.replace('io.quarkus:quarkus-', '')}`) .join('&'); const queryParams = params .map((e) => `${e.key}=${e.value}`) .join('&') .concat(...(extensions?.length ? ['&', extensions] : [])); return `${options.quarkusInitializerUrl}/d?${queryParams}`; } function isQuarkusProject(project) { if ((0, common_jvm_1.hasMultiModuleMavenProject)(project.root) || (0, common_jvm_1.hasMultiModuleGradleProject)(project.root)) return true; if ((0, common_jvm_1.isMavenProject)(project)) { return (0, common_jvm_1.checkProjectBuildFileContains)(project, { fragments: [ '<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>', ], }); } if ((0, common_jvm_1.isGradleProject)(project)) { return (0, common_jvm_1.checkProjectBuildFileContains)(project, { fragments: [ 'implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")', 'implementation(enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}"))', ], }); } return false; } async function fetchQuarkusExtensions(options) { const response = await (0, node_fetch_1.default)(`${options.quarkusInitializerUrl}/api/extensions`, (0, common_jvm_1.getCommonHttpHeaders)(index_1.NX_QUARKUS_PKG, options.quarkusInitializerUrl, options.proxyUrl)); return await response.json() ?? []; } //# sourceMappingURL=quarkus-utils.js.map