UNPKG

@storm-software/config-tools

Version:

⚡The Storm-Ops monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.

92 lines (69 loc) 4.21 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunkBRZ2YPOBcjs = require('./chunk-BRZ2YPOB.cjs'); var _chunkDLO4KL2Zcjs = require('./chunk-DLO4KL2Z.cjs'); var _chunkYSSMM2WQcjs = require('./chunk-YSSMM2WQ.cjs'); var _chunk6LIPH2JWcjs = require('./chunk-6LIPH2JW.cjs'); var _chunkYXYH4ZRBcjs = require('./chunk-YXYH4ZRB.cjs'); var _chunkWAOF47SAcjs = require('./chunk-WAOF47SA.cjs'); var _chunkUSNT2KNTcjs = require('./chunk-USNT2KNT.cjs'); // src/create-storm-config.ts var _schema = require('@storm-software/config/schema'); var _defu = require('defu'); var _defu2 = _interopRequireDefault(_defu); var _extension_cache = /* @__PURE__ */ new WeakMap(); var _static_cache = void 0; var createStormWorkspaceConfig = /* @__PURE__ */ _chunkUSNT2KNTcjs.__name.call(void 0, async (extensionName, schema, workspaceRoot, skipLogs = false) => { let result; if (!_optionalChain([_static_cache, 'optionalAccess', _ => _.data]) || !_optionalChain([_static_cache, 'optionalAccess', _2 => _2.timestamp]) || _static_cache.timestamp < Date.now() - 8e3) { let _workspaceRoot = workspaceRoot; if (!_workspaceRoot) { _workspaceRoot = _chunk6LIPH2JWcjs.findWorkspaceRoot.call(void 0, ); } const configEnv = _chunkWAOF47SAcjs.getConfigEnv.call(void 0, ); const defaultConfig = await _chunkYSSMM2WQcjs.getDefaultConfig.call(void 0, _workspaceRoot); const configFile = await _chunkBRZ2YPOBcjs.getConfigFile.call(void 0, _workspaceRoot); if (!configFile && !skipLogs) { _chunkDLO4KL2Zcjs.writeWarning.call(void 0, "No Storm Workspace configuration file found in the current repository. Please ensure this is the expected behavior - you can add a `storm-workspace.json` file to the root of your workspace if it is not.\n", { logLevel: "all" }); } result = await _schema.stormWorkspaceConfigSchema.parseAsync(_defu2.default.call(void 0, configEnv, configFile, defaultConfig)); result.workspaceRoot ??= _workspaceRoot; } else { result = _static_cache.data; } if (schema && extensionName) { result.extensions = { ...result.extensions, [extensionName]: createConfigExtension(extensionName, schema) }; } _static_cache = { timestamp: Date.now(), data: result }; return result; }, "createStormWorkspaceConfig"); var createConfigExtension = /* @__PURE__ */ _chunkUSNT2KNTcjs.__name.call(void 0, (extensionName, schema) => { const extension_cache_key = { extensionName }; if (_extension_cache.has(extension_cache_key)) { return _extension_cache.get(extension_cache_key); } let extension = _chunkWAOF47SAcjs.getExtensionEnv.call(void 0, extensionName); if (schema) { extension = schema.parse(extension); } _extension_cache.set(extension_cache_key, extension); return extension; }, "createConfigExtension"); var loadStormWorkspaceConfig = /* @__PURE__ */ _chunkUSNT2KNTcjs.__name.call(void 0, async (workspaceRoot, skipLogs = false) => { const config = await createStormWorkspaceConfig(void 0, void 0, workspaceRoot, skipLogs); _chunkYXYH4ZRBcjs.setConfigEnv.call(void 0, config); if (!skipLogs && !config.skipConfigLogging) { _chunkDLO4KL2Zcjs.writeTrace.call(void 0, `\u2699\uFE0F Using Storm Workspace configuration: ${_chunkDLO4KL2Zcjs.formatLogMessage.call(void 0, config)}`, config); } return config; }, "loadStormWorkspaceConfig"); exports.createStormWorkspaceConfig = createStormWorkspaceConfig; exports.createConfigExtension = createConfigExtension; exports.loadStormWorkspaceConfig = loadStormWorkspaceConfig;