Home / Function/ createLoaderController() — astro Function Reference

createLoaderController() — astro Function Reference

Architecture documentation for the createLoaderController() function in controller.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  f81758f3_de04_bd77_1fdd_e9033ee7fa7d["createLoaderController()"]
  417f2af6_8a2f_2b06_192e_b74a580ea934["controller.ts"]
  f81758f3_de04_bd77_1fdd_e9033ee7fa7d -->|defined in| 417f2af6_8a2f_2b06_192e_b74a580ea934
  a8810196_ebdf_10e9_30fc_5d1b4d5093d8["createController()"]
  a8810196_ebdf_10e9_30fc_5d1b4d5093d8 -->|calls| f81758f3_de04_bd77_1fdd_e9033ee7fa7d
  5ae09543_5b66_9a03_0a8e_6eac7f9c0e7b["createBaseController()"]
  f81758f3_de04_bd77_1fdd_e9033ee7fa7d -->|calls| 5ae09543_5b66_9a03_0a8e_6eac7f9c0e7b
  style f81758f3_de04_bd77_1fdd_e9033ee7fa7d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/vite-plugin-astro-server/controller.ts lines 61–85

function createLoaderController(loader: ModuleLoader): DevServerController {
	const controller = createBaseController({
		reload() {
			loader.clientReload();
		},
	});
	const baseOnFileChange = controller.onFileChange;
	controller.onFileChange = (...args) => {
		if (controller.state.state === 'error') {
			// If we are in an error state, check if there are any modules with errors
			// and if so invalidate them so that they will be updated on refresh.
			loader.eachModule((mod) => {
				if (mod.ssrError) {
					loader.invalidateModule(mod);
				}
			});
		}
		baseOnFileChange(...args);
	};

	loader.events.on('file-change', controller.onFileChange);
	loader.events.on('hmr-error', controller.onHMRError);

	return controller;
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does createLoaderController() do?
createLoaderController() is a function in the astro codebase, defined in packages/astro/src/vite-plugin-astro-server/controller.ts.
Where is createLoaderController() defined?
createLoaderController() is defined in packages/astro/src/vite-plugin-astro-server/controller.ts at line 61.
What does createLoaderController() call?
createLoaderController() calls 1 function(s): createBaseController.
What calls createLoaderController()?
createLoaderController() is called by 1 function(s): createController.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free