Home / File/ generate-posts.mjs — astro Source File

generate-posts.mjs — astro Source File

Architecture documentation for generate-posts.mjs, a javascript file in the astro codebase. 2 imports, 2 dependents.

File javascript CoreAstro RenderingEngine 2 imports 2 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  0ae34de5_4ab6_7f40_1864_6596049615f5["generate-posts.mjs"]
  e16a223b_37f3_6b25_1ee1_2b7bcb9d9415["node:fs"]
  0ae34de5_4ab6_7f40_1864_6596049615f5 --> e16a223b_37f3_6b25_1ee1_2b7bcb9d9415
  c52a5f83_66e3_37d7_9ebb_767f7129bc62["node:path"]
  0ae34de5_4ab6_7f40_1864_6596049615f5 --> c52a5f83_66e3_37d7_9ebb_767f7129bc62
  b92732a1_433f_7d78_4b70_e38568589f59["content-benchmark.mjs"]
  b92732a1_433f_7d78_4b70_e38568589f59 --> 0ae34de5_4ab6_7f40_1864_6596049615f5
  d3d37112_071c_045b_46f2_bc40df18fe92["generate-posts.cli.mjs"]
  d3d37112_071c_045b_46f2_bc40df18fe92 --> 0ae34de5_4ab6_7f40_1864_6596049615f5
  style 0ae34de5_4ab6_7f40_1864_6596049615f5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import fs from 'node:fs';
import path from 'node:path';

const NUM_POSTS = 10;
const POSTS_DIR = './src/content/posts.generated';
const EXT = '.md';
const TEMPLATE = 'simple.md';

export async function generatePosts({
	postsDir = POSTS_DIR,
	numPosts = NUM_POSTS,
	ext = EXT,
	template = TEMPLATE,
}) {
	if (fs.existsSync(postsDir)) {
		const files = await fs.promises.readdir(postsDir);
		await Promise.all(files.map((file) => fs.promises.unlink(path.join(postsDir, file))));
	} else {
		await fs.promises.mkdir(postsDir, { recursive: true });
	}

	await Promise.all(
		Array.from(Array(numPosts).keys()).map((idx) => {
			return fs.promises.writeFile(
				`${postsDir}/post-${idx}${ext.startsWith('.') ? ext : `.${ext}`}`,
				fs.readFileSync(new URL(`./templates/${template}`, import.meta.url), 'utf8'),
			);
		}),
	);
}

Domain

Subdomains

Functions

Dependencies

  • node:fs
  • node:path

Frequently Asked Questions

What does generate-posts.mjs do?
generate-posts.mjs is a source file in the astro codebase, written in javascript. It belongs to the CoreAstro domain, RenderingEngine subdomain.
What functions are defined in generate-posts.mjs?
generate-posts.mjs defines 1 function(s): generatePosts.
What does generate-posts.mjs depend on?
generate-posts.mjs imports 2 module(s): node:fs, node:path.
What files import generate-posts.mjs?
generate-posts.mjs is imported by 2 file(s): content-benchmark.mjs, generate-posts.cli.mjs.
Where is generate-posts.mjs in the architecture?
generate-posts.mjs is located at packages/astro/performance/scripts/generate-posts.mjs (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/performance/scripts).

Analyze Your Own Codebase

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

Try Supermodel Free