From 2222b82378a2a88997c0203e3b62a550e008f488 Mon Sep 17 00:00:00 2001 From: Joe Wroten Date: Sat, 29 Dec 2018 19:54:09 -0600 Subject: [PATCH] Copy static assets functionality --- index.js | 2 ++ src/assets/stylesheet.css | 0 src/copyStaticAssets.js | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 src/assets/stylesheet.css create mode 100644 src/copyStaticAssets.js diff --git a/index.js b/index.js index 438a30b..349a47d 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,6 @@ const { generateStaticPages } = require('./src/generateHTMLPages'); +const copyStaticAssets = require('./src/copyStaticAssets'); generateStaticPages().then(() => console.log('✓ Generated html pages')); +copyStaticAssets().then(() => console.log('✓ Copied static assets')); diff --git a/src/assets/stylesheet.css b/src/assets/stylesheet.css new file mode 100644 index 0000000..e69de29 diff --git a/src/copyStaticAssets.js b/src/copyStaticAssets.js new file mode 100644 index 0000000..e469378 --- /dev/null +++ b/src/copyStaticAssets.js @@ -0,0 +1,35 @@ +const { readdir, copyFile } = require('fs-extra'); +const { extname, join } = require('path'); + +const paths = { + srcAssets: './src/assets', + distAssets: './dist/assets', +} + +const _discoverAssets = async () => { + try { + return await readdir(paths.srcAssets); + } catch (error) { + console.error('Unable to find assets to copy', error); + return []; + } +}; + +const _copyAssets = async assets => { + try { + assets.forEach(asset => { + let srcFile = join(paths.srcAssets, asset); + let distFile = join(paths.distAssets, asset); + return copyFile(srcFile, distFile); + }); + } catch (error) { + console.error('Unable to copy assets', error); + return; + } +}; + +module.exports = async () => { + let assets = await _discoverAssets(); + _copyAssets(assets); +}; +