UNPKG

@platformos/pos-cli

Version:
32 lines (26 loc) 1.09 kB
import fs from 'fs'; import normalize from 'normalize-path'; import dir from '../directories.js'; import files from '../files.js'; const serializerManifestEntry = file => { const appDirectory = dir.currentApp(); const fileProperties = fs.statSync(file); const fileUpdatedAt = Math.floor(new Date(fileProperties['mtime']) / 1000); const fileSize = fileProperties['size']; return { physical_file_path: file.replace(new RegExp(`^${appDirectory}/`), ''), updated_at: fileUpdatedAt, file_size: fileSize }; }; const manifestGenerate = async () => { const assets = await files.getAssets(); return manifestGenerateForAssets(assets); }; const manifestGenerateForAssets = (assets) => { const appDirectory = dir.currentApp(); let manifest = {}; for (const file of assets) { const normalizedFile = normalize(file); const path = normalizedFile.replace(new RegExp(`(public|private)/assets/|(${appDirectory})/assets/`), ''); manifest[path] = serializerManifestEntry(normalizedFile); } return manifest; }; export { manifestGenerate, manifestGenerateForAssets };