server-listeners.ts — astro Source File
Architecture documentation for server-listeners.ts, a typescript file in the astro codebase. 6 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR ab9fccbb_2c60_cea9_6491_c0c755fcbd23["server-listeners.ts"] d3861967_b647_84d2_ff48_15013353bd56["../core/logger/core.js"] ab9fccbb_2c60_cea9_6491_c0c755fcbd23 --> d3861967_b647_84d2_ff48_15013353bd56 e9b74c5a_8d34_34a7_e196_5e41b87214aa["../types/astro.js"] ab9fccbb_2c60_cea9_6491_c0c755fcbd23 --> e9b74c5a_8d34_34a7_e196_5e41b87214aa b9d4daed_6cbd_2f82_de2c_bcacb69be3b2["./types-generator.js"] ab9fccbb_2c60_cea9_6491_c0c755fcbd23 --> b9d4daed_6cbd_2f82_de2c_bcacb69be3b2 520c567a_b741_f105_70ac_c637eacc7f83["../content/utils.js"] ab9fccbb_2c60_cea9_6491_c0c755fcbd23 --> 520c567a_b741_f105_70ac_c637eacc7f83 e16a223b_37f3_6b25_1ee1_2b7bcb9d9415["node:fs"] ab9fccbb_2c60_cea9_6491_c0c755fcbd23 --> e16a223b_37f3_6b25_1ee1_2b7bcb9d9415 263e522e_1aa5_ebc3_e7d6_45ebc51671f7["vite"] ab9fccbb_2c60_cea9_6491_c0c755fcbd23 --> 263e522e_1aa5_ebc3_e7d6_45ebc51671f7 style ab9fccbb_2c60_cea9_6491_c0c755fcbd23 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type fsMod from 'node:fs';
import type { ViteDevServer } from 'vite';
import type { Logger } from '../core/logger/core.js';
import type { AstroSettings } from '../types/astro.js';
import { createContentTypesGenerator } from './types-generator.js';
import { globalContentConfigObserver } from './utils.js';
interface ContentServerListenerParams {
fs: typeof fsMod;
logger: Logger;
settings: AstroSettings;
viteServer: ViteDevServer;
}
export async function attachContentServerListeners({
viteServer,
fs,
logger,
settings,
}: ContentServerListenerParams) {
const contentGenerator = await createContentTypesGenerator({
fs,
settings,
logger,
viteServer,
contentConfigObserver: globalContentConfigObserver,
});
await contentGenerator.init();
logger.debug('content', 'Types generated');
viteServer.watcher.on('add', (entry) => {
contentGenerator.queueEvent({ name: 'add', entry });
});
viteServer.watcher.on('addDir', (entry) =>
contentGenerator.queueEvent({ name: 'addDir', entry }),
);
viteServer.watcher.on('change', (entry) => {
contentGenerator.queueEvent({ name: 'change', entry });
});
viteServer.watcher.on('unlink', (entry) => {
contentGenerator.queueEvent({ name: 'unlink', entry });
});
viteServer.watcher.on('unlinkDir', (entry) =>
contentGenerator.queueEvent({ name: 'unlinkDir', entry }),
);
}
Domain
Subdomains
Functions
Dependencies
- ../content/utils.js
- ../core/logger/core.js
- ../types/astro.js
- ./types-generator.js
- node:fs
- vite
Source
Frequently Asked Questions
What does server-listeners.ts do?
server-listeners.ts is a source file in the astro codebase, written in typescript. It belongs to the ContentCollections domain, DataLoaders subdomain.
What functions are defined in server-listeners.ts?
server-listeners.ts defines 1 function(s): attachContentServerListeners.
What does server-listeners.ts depend on?
server-listeners.ts imports 6 module(s): ../content/utils.js, ../core/logger/core.js, ../types/astro.js, ./types-generator.js, node:fs, vite.
Where is server-listeners.ts in the architecture?
server-listeners.ts is located at packages/astro/src/content/server-listeners.ts (domain: ContentCollections, subdomain: DataLoaders, directory: packages/astro/src/content).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free