getSettings() — astro Function Reference
Architecture documentation for the getSettings() function in settings.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 8315df8e_e14c_faf7_3d8b_f771bf8d37fd["getSettings()"] c2dd2feb_e979_16df_29d6_31bcce55c169["settings.ts"] 8315df8e_e14c_faf7_3d8b_f771bf8d37fd -->|defined in| c2dd2feb_e979_16df_29d6_31bcce55c169 style 8315df8e_e14c_faf7_3d8b_f771bf8d37fd fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/runtime/client/dev-toolbar/settings.ts lines 18–69
function getSettings() {
// 1. Start with hardcoded defaults
let _settings: Settings = { ...defaultSettings };
// 2. Override with config placement (if provided)
const configPlacement = (globalThis as DevToolbarMetadata).__astro_dev_toolbar__?.placement;
if (configPlacement && isValidPlacement(configPlacement)) {
_settings.placement = configPlacement;
}
// 3. Override with localStorage (preserves user's UI choice)
const toolbarSettings = localStorage.getItem('astro:dev-toolbar:settings');
if (toolbarSettings) {
_settings = { ..._settings, ...JSON.parse(toolbarSettings) };
}
function updateSetting<Key extends keyof Settings>(key: Key, value: Settings[Key]) {
_settings[key] = value;
localStorage.setItem('astro:dev-toolbar:settings', JSON.stringify(_settings));
}
function log(message: string, level: 'log' | 'warn' | 'error' = 'log') {
// biome-ignore lint/suspicious/noConsole: it can't infer types yet
console[level](
`%cAstro`,
'background: linear-gradient(66.77deg, #D83333 0%, #F041FF 100%); color: white; padding-inline: 4px; border-radius: 2px; font-family: monospace;',
message,
);
}
return {
get config() {
return _settings;
},
updateSetting,
logger: {
log,
warn: (message: string) => {
log(message, 'warn');
},
error: (message: string) => {
log(message, 'error');
},
verboseLog: (message: string) => {
if (_settings.verbose) {
log(message);
}
},
},
};
}
Domain
Subdomains
Source
Frequently Asked Questions
What does getSettings() do?
getSettings() is a function in the astro codebase, defined in packages/astro/src/runtime/client/dev-toolbar/settings.ts.
Where is getSettings() defined?
getSettings() is defined in packages/astro/src/runtime/client/dev-toolbar/settings.ts at line 18.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free