Skip to main content
Glama

Kube Core MCP

by Jess321995
replace.js1.53 kB
'use strict'; var jsTokens = require('js-tokens').default; var processEnvRe = /\bprocess\.env\.[_$a-zA-Z][$\w]+\b/; var spaceOrCommentRe = /^(?:\s|\/[/*])/; function replace(src, envs) { if (!processEnvRe.test(src)) { return src; } var out = []; var purge = envs.some(function(env) { return env._ && env._.indexOf('purge') !== -1; }); jsTokens.lastIndex = 0 var parts = src.match(jsTokens); for (var i = 0; i < parts.length; i++) { if (parts[i ] === 'process' && parts[i + 1] === '.' && parts[i + 2] === 'env' && parts[i + 3] === '.') { var prevCodeToken = getAdjacentCodeToken(-1, parts, i); var nextCodeToken = getAdjacentCodeToken(1, parts, i + 4); var replacement = getReplacementString(envs, parts[i + 4], purge); if (prevCodeToken !== '.' && nextCodeToken !== '.' && nextCodeToken !== '=' && typeof replacement === 'string') { out.push(replacement); i += 4; continue; } } out.push(parts[i]); } return out.join(''); } function getAdjacentCodeToken(dir, parts, i) { while (true) { var part = parts[i += dir]; if (!spaceOrCommentRe.test(part)) { return part; } } } function getReplacementString(envs, name, purge) { for (var j = 0; j < envs.length; j++) { var env = envs[j]; if (typeof env[name] !== 'undefined') { return JSON.stringify(env[name]); } } if (purge) { return 'undefined'; } } module.exports = replace;

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jess321995/kube-core-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server