@buildappolis/env-manager
Version:
Enterprise-grade environment variable management system with encryption, snapshots, and validation
98 lines (92 loc) • 18 kB
JavaScript
import { g as decodeKey } from './chunks/astro/server_DE_7F_eO.mjs';
import { N as NOOP_MIDDLEWARE_FN } from './chunks/astro-designed-error-pages_DtTvViuk.mjs';
import 'clsx';
function sanitizeParams(params) {
return Object.fromEntries(
Object.entries(params).map(([key, value]) => {
if (typeof value === "string") {
return [key, value.normalize().replace(/#/g, "%23").replace(/\?/g, "%3F")];
}
return [key, value];
})
);
}
function getParameter(part, params) {
if (part.spread) {
return params[part.content.slice(3)] || "";
}
if (part.dynamic) {
if (!params[part.content]) {
throw new TypeError(`Missing parameter: ${part.content}`);
}
return params[part.content];
}
return part.content.normalize().replace(/\?/g, "%3F").replace(/#/g, "%23").replace(/%5B/g, "[").replace(/%5D/g, "]");
}
function getSegment(segment, params) {
const segmentPath = segment.map((part) => getParameter(part, params)).join("");
return segmentPath ? "/" + segmentPath : "";
}
function getRouteGenerator(segments, addTrailingSlash) {
return (params) => {
const sanitizedParams = sanitizeParams(params);
let trailing = "";
if (addTrailingSlash === "always" && segments.length) {
trailing = "/";
}
const path = segments.map((segment) => getSegment(segment, sanitizedParams)).join("") + trailing;
return path || "/";
};
}
function deserializeRouteData(rawRouteData) {
return {
route: rawRouteData.route,
type: rawRouteData.type,
pattern: new RegExp(rawRouteData.pattern),
params: rawRouteData.params,
component: rawRouteData.component,
generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),
pathname: rawRouteData.pathname || void 0,
segments: rawRouteData.segments,
prerender: rawRouteData.prerender,
redirect: rawRouteData.redirect,
redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,
fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {
return deserializeRouteData(fallback);
}),
isIndex: rawRouteData.isIndex
};
}
function deserializeManifest(serializedManifest) {
const routes = [];
for (const serializedRoute of serializedManifest.routes) {
routes.push({
...serializedRoute,
routeData: deserializeRouteData(serializedRoute.routeData)
});
const route = serializedRoute;
route.routeData = deserializeRouteData(serializedRoute.routeData);
}
const assets = new Set(serializedManifest.assets);
const componentMetadata = new Map(serializedManifest.componentMetadata);
const inlinedScripts = new Map(serializedManifest.inlinedScripts);
const clientDirectives = new Map(serializedManifest.clientDirectives);
const serverIslandNameMap = new Map(serializedManifest.serverIslandNameMap);
const key = decodeKey(serializedManifest.key);
return {
// in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)
middleware() {
return { onRequest: NOOP_MIDDLEWARE_FN };
},
...serializedManifest,
assets,
componentMetadata,
inlinedScripts,
clientDirectives,
routes,
serverIslandNameMap,
key
};
}
const manifest = deserializeManifest({"hrefRoot":"file:///home/cory-ubuntu/coding/projects/env-manager/","adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"type":"endpoint","isIndex":false,"route":"/_image","pattern":"^\\/_image$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"node_modules/.pnpm/astro@4.16.18_@types+node@20.19.11_lightningcss@1.30.1_rollup@4.46.3_typescript@5.9.2/node_modules/astro/dist/assets/endpoint/node.js","pathname":"/_image","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/auth/status","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/auth\\/status\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"auth","dynamic":false,"spread":false}],[{"content":"status","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/auth/status.ts","pathname":"/api/auth/status","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/auth","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/auth\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"auth","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/auth.ts","pathname":"/api/auth","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/branches","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/branches\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"branches","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/branches.ts","pathname":"/api/branches","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/draft","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/draft\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"draft","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/draft.ts","pathname":"/api/draft","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/export","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/export\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"export","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/export.ts","pathname":"/api/export","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/health","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/health\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"health","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/health.ts","pathname":"/api/health","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/hot-reload","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/hot-reload\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"hot-reload","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/hot-reload.ts","pathname":"/api/hot-reload","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/password","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/password\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"password","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/password.ts","pathname":"/api/password","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/project/status","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/project\\/status\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"project","dynamic":false,"spread":false}],[{"content":"status","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/project/status.ts","pathname":"/api/project/status","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/project/variable-config","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/project\\/variable-config\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"project","dynamic":false,"spread":false}],[{"content":"variable-config","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/project/variable-config.ts","pathname":"/api/project/variable-config","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/projects","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/projects\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"projects","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/projects.ts","pathname":"/api/projects","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/snapshots/[id]/restore","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/snapshots\\/([^/]+?)\\/restore\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"snapshots","dynamic":false,"spread":false}],[{"content":"id","dynamic":true,"spread":false}],[{"content":"restore","dynamic":false,"spread":false}]],"params":["id"],"component":"src/pages/api/snapshots/[id]/restore.ts","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/snapshots/[id]","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/snapshots\\/([^/]+?)\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"snapshots","dynamic":false,"spread":false}],[{"content":"id","dynamic":true,"spread":false}]],"params":["id"],"component":"src/pages/api/snapshots/[id].ts","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/snapshots","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/snapshots\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"snapshots","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/snapshots.ts","pathname":"/api/snapshots","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/variables","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/variables\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"variables","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/variables.ts","pathname":"/api/variables","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/version","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/version\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"version","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/version.ts","pathname":"/api/version","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/versions/restore","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/versions\\/restore\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"versions","dynamic":false,"spread":false}],[{"content":"restore","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/versions/restore.ts","pathname":"/api/versions/restore","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/versions","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/versions\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"versions","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/versions.ts","pathname":"/api/versions","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/_slug_.BjrWMrIJ.css"}],"routeData":{"route":"/","isIndex":true,"type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/_slug_.BjrWMrIJ.css"},{"type":"inline","content":"@import\"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap\";.retro{font-family:\"Press Start 2P\",system-ui,-apple-system,sans-serif;line-height:1.5;letter-spacing:.5px}\n"}],"routeData":{"route":"/[...slug]","isIndex":false,"type":"page","pattern":"^(?:\\/(.*?))?\\/?$","segments":[[{"content":"...slug","dynamic":true,"spread":true}]],"params":["...slug"],"component":"src/pages/[...slug].astro","prerender":false,"fallbackRoutes":[],"_meta":{"trailingSlash":"ignore"}}}],"base":"/","trailingSlash":"ignore","compressHTML":true,"componentMetadata":[["/home/cory-ubuntu/coding/projects/env-manager/src/pages/[...slug].astro",{"propagation":"none","containsHead":true}],["/home/cory-ubuntu/coding/projects/env-manager/src/pages/index.astro",{"propagation":"none","containsHead":true}]],"renderers":[],"clientDirectives":[["idle","(()=>{var l=(o,t)=>{let i=async()=>{await(await o())()},e=typeof t.value==\"object\"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};\"requestIdleCallback\"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event(\"astro:idle\"));})();"],["load","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event(\"astro:load\"));})();"],["media","(()=>{var s=(i,t)=>{let a=async()=>{await(await i())()};if(t.value){let e=matchMedia(t.value);e.matches?a():e.addEventListener(\"change\",a,{once:!0})}};(self.Astro||(self.Astro={})).media=s;window.dispatchEvent(new Event(\"astro:media\"));})();"],["only","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event(\"astro:only\"));})();"],["visible","(()=>{var l=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value==\"object\"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let a of e)if(a.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=l;window.dispatchEvent(new Event(\"astro:visible\"));})();"]],"entryModules":{"\u0000noop-middleware":"_noop-middleware.mjs","\u0000@astro-page:node_modules/.pnpm/astro@4.16.18_@types+node@20.19.11_lightningcss@1.30.1_rollup@4.46.3_typescript@5.9.2/node_modules/astro/dist/assets/endpoint/node@_@js":"pages/_image.astro.mjs","\u0000@astro-page:src/pages/api/auth/status@_@ts":"pages/api/auth/status.astro.mjs","\u0000@astro-page:src/pages/api/auth@_@ts":"pages/api/auth.astro.mjs","\u0000@astro-page:src/pages/api/branches@_@ts":"pages/api/branches.astro.mjs","\u0000@astro-page:src/pages/api/draft@_@ts":"pages/api/draft.astro.mjs","\u0000@astro-page:src/pages/api/export@_@ts":"pages/api/export.astro.mjs","\u0000@astro-page:src/pages/api/health@_@ts":"pages/api/health.astro.mjs","\u0000@astro-page:src/pages/api/hot-reload@_@ts":"pages/api/hot-reload.astro.mjs","\u0000@astro-page:src/pages/api/password@_@ts":"pages/api/password.astro.mjs","\u0000@astro-page:src/pages/api/project/status@_@ts":"pages/api/project/status.astro.mjs","\u0000@astro-page:src/pages/api/project/variable-config@_@ts":"pages/api/project/variable-config.astro.mjs","\u0000@astro-page:src/pages/api/projects@_@ts":"pages/api/projects.astro.mjs","\u0000@astro-page:src/pages/api/snapshots/[id]/restore@_@ts":"pages/api/snapshots/_id_/restore.astro.mjs","\u0000@astro-page:src/pages/api/snapshots/[id]@_@ts":"pages/api/snapshots/_id_.astro.mjs","\u0000@astro-page:src/pages/api/snapshots@_@ts":"pages/api/snapshots.astro.mjs","\u0000@astro-page:src/pages/api/variables@_@ts":"pages/api/variables.astro.mjs","\u0000@astro-page:src/pages/api/version@_@ts":"pages/api/version.astro.mjs","\u0000@astro-page:src/pages/api/versions/restore@_@ts":"pages/api/versions/restore.astro.mjs","\u0000@astro-page:src/pages/api/versions@_@ts":"pages/api/versions.astro.mjs","\u0000@astro-page:src/pages/index@_@astro":"pages/index.astro.mjs","\u0000@astro-page:src/pages/[...slug]@_@astro":"pages/_---slug_.astro.mjs","\u0000@astrojs-ssr-virtual-entry":"entry.mjs","\u0000@astro-renderers":"renderers.mjs","\u0000@astrojs-ssr-adapter":"_@astrojs-ssr-adapter.mjs","/home/cory-ubuntu/coding/projects/env-manager/node_modules/.pnpm/astro@4.16.18_@types+node@20.19.11_lightningcss@1.30.1_rollup@4.46.3_typescript@5.9.2/node_modules/astro/dist/env/setup.js":"chunks/astro/env-setup_Cr6XTFvb.mjs","\u0000@astrojs-manifest":"manifest_CVtiX1bu.mjs","/home/cory-ubuntu/coding/projects/env-manager/src/components/MainApp":"_astro/MainApp.BegzbRim.js","@astrojs/react/client.js":"_astro/client.nAJ6snSt.js","/home/cory-ubuntu/coding/projects/env-manager/src/components/EnvManager8Bit":"_astro/EnvManager8Bit.DnQkNZ27.js","/home/cory-ubuntu/coding/projects/env-manager/src/components/VersionFooter":"_astro/VersionFooter.IbdQVJoN.js","astro:scripts/before-hydration.js":""},"inlinedScripts":[],"assets":["/_astro/_slug_.BjrWMrIJ.css","/favicon.svg","/_astro/EnvManager8Bit.DnQkNZ27.js","/_astro/MainApp.BegzbRim.js","/_astro/VersionFooter.IbdQVJoN.js","/_astro/_slug_.DF4pp2Vg.css","/_astro/client.nAJ6snSt.js","/_astro/index.B7KzZMbc.js","/_astro/index.CSP3KMZm.js","/_astro/jsx-runtime.BjG_zV1W.js","/_astro/trash-2.DSZTeR6u.js","/css/styles.css"],"buildFormat":"directory","checkOrigin":false,"serverIslandNameMap":[],"key":"cQpONOoinG1Xk0skSXawQ6G8uRkeBuiZJJeOuEOAWiE=","experimentalEnvGetSecretEnabled":false});
export { manifest };