@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
JavaScript
;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;