vite-plugin-db-client.ts — astro Source File
Architecture documentation for vite-plugin-db-client.ts, a typescript file in the astro codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 09de2174_d4e9_aa73_d61b_3762b75c4eaa["vite-plugin-db-client.ts"] eda9bb18_dc7e_2d22_8ac4_4f2697d51221["./consts.js"] 09de2174_d4e9_aa73_d61b_3762b75c4eaa --> eda9bb18_dc7e_2d22_8ac4_4f2697d51221 6ae6435e_1314_7d59_4826_25e9a2ada03f["./utils.js"] 09de2174_d4e9_aa73_d61b_3762b75c4eaa --> 6ae6435e_1314_7d59_4826_25e9a2ada03f style 09de2174_d4e9_aa73_d61b_3762b75c4eaa fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { DB_CLIENTS, VIRTUAL_CLIENT_MODULE_ID } from '../consts.js';
import type { VitePlugin } from '../utils.js';
type VitePluginDBClientParams = {
connectToRemote: boolean;
mode: 'node' | 'web';
};
function getRemoteClientModule(mode: 'node' | 'web') {
switch (mode) {
case 'web':
return `export { createClient } from '${DB_CLIENTS.web}';`;
case 'node':
default:
return `export { createClient } from '${DB_CLIENTS.node}';`;
}
}
function getLocalClientModule(mode: 'node' | 'web') {
switch (mode) {
case 'node':
case 'web':
default:
return `export { createClient } from '${DB_CLIENTS.local}';`;
}
}
const resolved = '\0' + VIRTUAL_CLIENT_MODULE_ID;
export function vitePluginDbClient(params: VitePluginDBClientParams): VitePlugin {
return {
name: 'virtual:astro:db-client',
enforce: 'pre',
resolveId: {
filter: {
id: new RegExp(`^${VIRTUAL_CLIENT_MODULE_ID}$`),
},
handler() {
return resolved;
},
},
load: {
filter: {
id: new RegExp(`^${resolved}$`),
},
handler() {
switch (params.connectToRemote) {
case true:
return getRemoteClientModule(params.mode);
case false:
default:
// Local client is always available, even if not used.
return getLocalClientModule(params.mode);
}
},
},
};
}
Domain
Subdomains
Types
Dependencies
- ./consts.js
- ./utils.js
Source
Frequently Asked Questions
What does vite-plugin-db-client.ts do?
vite-plugin-db-client.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, CoreMiddleware subdomain.
What functions are defined in vite-plugin-db-client.ts?
vite-plugin-db-client.ts defines 3 function(s): getLocalClientModule, getRemoteClientModule, vitePluginDbClient.
What does vite-plugin-db-client.ts depend on?
vite-plugin-db-client.ts imports 2 module(s): ./consts.js, ./utils.js.
Where is vite-plugin-db-client.ts in the architecture?
vite-plugin-db-client.ts is located at packages/db/src/core/integration/vite-plugin-db-client.ts (domain: CoreAstro, subdomain: CoreMiddleware, directory: packages/db/src/core/integration).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free