Home / File/ ssr-dev.js — svelte Source File

ssr-dev.js — svelte Source File

Architecture documentation for ssr-dev.js, a javascript file in the svelte codebase. 6 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  614ee527_887a_88f6_6197_c2cf77b0f6d0["ssr-dev.js"]
  6a72d479_c085_95c9_99b3_5218d1f2e854["ssr-common.js"]
  614ee527_887a_88f6_6197_c2cf77b0f6d0 --> 6a72d479_c085_95c9_99b3_5218d1f2e854
  f596e027_a951_36c9_7695_83acc4f0d6b9["node:fs"]
  614ee527_887a_88f6_6197_c2cf77b0f6d0 --> f596e027_a951_36c9_7695_83acc4f0d6b9
  f8929fbd_6327_2bb8_f43b_31a3db2e4d74["node:path"]
  614ee527_887a_88f6_6197_c2cf77b0f6d0 --> f8929fbd_6327_2bb8_f43b_31a3db2e4d74
  1cb33a46_d09d_1289_a578_521205c56653["node:url"]
  614ee527_887a_88f6_6197_c2cf77b0f6d0 --> 1cb33a46_d09d_1289_a578_521205c56653
  8115eea5_1702_b0c2_2ee3_fa496d322897["polka"]
  614ee527_887a_88f6_6197_c2cf77b0f6d0 --> 8115eea5_1702_b0c2_2ee3_fa496d322897
  01d9b206_7e75_a34c_7896_a1ce55a46634["vite"]
  614ee527_887a_88f6_6197_c2cf77b0f6d0 --> 01d9b206_7e75_a34c_7896_a1ce55a46634
  style 614ee527_887a_88f6_6197_c2cf77b0f6d0 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

// @ts-check
import fs from 'node:fs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import polka from 'polka';
import { createServer as createViteServer } from 'vite';
import './ssr-common.js';

const PORT = process.env.PORT || '5173';

const __dirname = path.dirname(fileURLToPath(import.meta.url));

process.env.NODE_ENV = 'development';

const vite = await createViteServer({
	server: { middlewareMode: true },
	appType: 'custom'
});

polka()
	.use(vite.middlewares)
	.use(async (req, res) => {
		const template = fs.readFileSync(path.resolve(__dirname, 'index.html'), 'utf-8');
		const transformed_template = await vite.transformIndexHtml(req.url, template);

		const { render } = await vite.ssrLoadModule('svelte/server');
		const { default: App } = await vite.ssrLoadModule('/src/App.svelte');

		const { head, body } = await render(App);

		const html = transformed_template
			.replace(`<!--ssr-head-->`, head)
			.replace(`<!--ssr-body-->`, body)
			// check that Safari doesn't break hydration
			.replaceAll('+636-555-3226', '<a href="tel:+636-555-3226">+636-555-3226</a>');

		res.writeHead(200, { 'Content-Type': 'text/html' }).end(html);
	})
	.listen(PORT, () => {
		console.log(`http://localhost:${PORT}`);
	});

Domain

Dependencies

Frequently Asked Questions

What does ssr-dev.js do?
ssr-dev.js is a source file in the svelte codebase, written in javascript. It belongs to the Compiler domain.
What does ssr-dev.js depend on?
ssr-dev.js imports 6 module(s): node:fs, node:path, node:url, polka, ssr-common.js, vite.
Where is ssr-dev.js in the architecture?
ssr-dev.js is located at playgrounds/sandbox/ssr-dev.js (domain: Compiler, directory: playgrounds/sandbox).

Analyze Your Own Codebase

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

Try Supermodel Free