leds-spark-lib
Version:
Biblioteca de geração de código
63 lines • 2.28 kB
JavaScript
/**
* Public Assets Generator Module
*
* This module generates the public assets directory structure and files
* for the Vue application. It creates necessary folders and static assets
* that should be publicly accessible in the built application.
*
* Directory Structure:
* public/
* ├── favicon.png - Application favicon
* └── assets/
* └── images/ - Public image assets
*
* Features:
* - Automated directory structure creation
* - Favicon generation
* - Asset organization
* - Public file management
*/
import fs from "fs";
import { createPath } from "../../../util/generator-utils.js";
import { expandToString } from "../../../util/template-string.js";
import path from "path";
/**
* Main public assets generator function
*
* Creates the public directory structure and generates static assets
* for the Vue application. Sets up a standard directory hierarchy
* for public files and assets.
*
* @param project_abstraction - Project metadata (not directly used for public assets)
* @param target_folder - Base directory for public folder generation
*
* Generated Structure:
* - public/ - Root public directory
* ├── favicon.png - Application icon
* └── assets/ - Static assets directory
* └── images/ - Image assets directory
*/
export function generate(project_abstraction, target_folder) {
const target_folder_public = createPath(target_folder, "public");
const assets = createPath(target_folder_public, "assets");
const images = createPath(assets, "images");
fs.mkdirSync(target_folder_public, { recursive: true });
fs.mkdirSync(assets, { recursive: true });
fs.mkdirSync(images, { recursive: true });
fs.writeFileSync(path.join(target_folder_public, 'favicon.png'), generateFavicon());
}
/**
* Generates favicon content
*
* Creates the content for the application's favicon.png file.
* Currently returns an empty template - implementers should
* add their own favicon generation logic here.
*
* @returns {string} Content for favicon.png file
*
* TODO: Implement actual favicon generation or provide template
*/
function generateFavicon() {
return expandToString ``;
}
//# sourceMappingURL=generate.js.map