UNPKG

@naxodev/gonx

Version:

Modern Nx plugin to use Go in a Nx workspace

38 lines 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTargetsByProjectType = getTargetsByProjectType; const test_target_1 = require("./test-target"); const tidy_1 = require("./tidy"); const lint_1 = require("./lint"); const build_1 = require("./build"); const serve_1 = require("./serve"); const generate_1 = require("./generate"); const release_publish_1 = require("./release-publish"); const has_main_package_1 = require("../has-main-package"); function getTargetsByProjectType(projectRoot, options) { // Detect if this is an application or a library const isApplication = (0, has_main_package_1.hasMainPackage)(projectRoot); // For better UX, set default target names if not provided const buildTargetName = options.buildTargetName || 'build'; const testTargetName = options.testTargetName || 'test'; const serveTargetName = options.runTargetName || 'serve'; const tidyTargetName = options.tidyTargetName || 'tidy'; const lintTargetName = options.lintTargetName || 'lint'; const generateTargetName = options.generateTargetName || 'generate'; const releasePublishTargetName = options.releasePublishTargetName || 'nx-release-publish'; // Initialize targets object const targets = {}; // Common targets - available for both apps and libraries targets[generateTargetName] = (0, generate_1.generate)(); targets[testTargetName] = (0, test_target_1.test)(); targets[tidyTargetName] = (0, tidy_1.tidy)(); targets[lintTargetName] = (0, lint_1.lint)(); targets[releasePublishTargetName] = (0, release_publish_1.releasePublish)(projectRoot); // Build and run targets - only for applications if (isApplication) { targets[buildTargetName] = (0, build_1.build)(); targets[serveTargetName] = (0, serve_1.serve)(); } return targets; } //# sourceMappingURL=get-targets-by-project-type.js.map