UNPKG

@storm-software/workspace-tools

Version:

Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.

63 lines (57 loc) 2.53 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _chunkLMYTVXGXjs = require('./chunk-LMYTVXGX.js'); // src/utils/apply-workspace-tokens.ts var applyWorkspaceExecutorTokens = async (option, tokenizerOptions) => { let result = option; if (!result) { return result; } let projectName; let projectRoot; let sourceRoot; if (_optionalChain([tokenizerOptions, 'optionalAccess', _ => _.projectName])) { const context = tokenizerOptions; projectName = context.projectName; projectRoot = context.root; sourceRoot = context.sourceRoot; } else { const projectConfig = tokenizerOptions; projectRoot = projectConfig.root; if (projectConfig.name) { projectName = projectConfig.name; } if (projectConfig.sourceRoot) { sourceRoot = projectConfig.sourceRoot; } } if (tokenizerOptions.config) { const configKeys = Object.keys(tokenizerOptions.config); if (configKeys.some((configKey) => result.includes(`{${configKey}}`))) { for (const configKey of configKeys) { if (result.includes(`{${configKey}}`)) { result = result.replaceAll( `{${configKey}}`, tokenizerOptions.config[configKey] ); } } } } if (result.includes("{projectName}")) { result = result.replaceAll("{projectName}", projectName); } if (result.includes("{projectRoot}")) { result = result.replaceAll("{projectRoot}", projectRoot); } if (result.includes("{sourceRoot}")) { result = result.replaceAll("{sourceRoot}", sourceRoot); } if (result.includes("{workspaceRoot}")) { result = result.replaceAll( "{workspaceRoot}", _nullishCoalesce(tokenizerOptions.workspaceRoot, () => ( _chunkLMYTVXGXjs.findWorkspaceRoot.call(void 0, ))) ); } return result; }; exports.applyWorkspaceExecutorTokens = applyWorkspaceExecutorTokens;