From 0e82ab5530465874e7b610d1968bf8f822cd78b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20=C4=86wirko?= Date: Sun, 22 Aug 2021 12:08:03 +0200 Subject: [PATCH] static files copying as an option --- package-lock.json | 2 +- package.json | 2 +- scripts/build/constants.js | 1 + scripts/build/copy-statics.js | 11 +++++++++++ scripts/build/index.js | 4 ++++ scripts/start/listener-callback.js | 11 +++++++++++ 6 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 scripts/build/copy-statics.js diff --git a/package-lock.json b/package-lock.json index 28de1f7..617709a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "harold-scripts", - "version": "0.7.0", + "version": "0.8.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 79f79b6..24c7fa3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "harold-scripts", - "version": "0.7.0", + "version": "0.8.0", "description": "Harold JS Scripts for Create Harold App", "author": "Julian Ćwirko (julian.io)", "engines": { diff --git a/scripts/build/constants.js b/scripts/build/constants.js index d0cc2f1..9082925 100644 --- a/scripts/build/constants.js +++ b/scripts/build/constants.js @@ -21,6 +21,7 @@ module.exports = { : 'build', stylesDirName: 'styles', jsonDataDirName: 'jsonData', + staticsDirName: 'statics', hostDirName: loaded && loaded.config && loaded.config.hostDirName ? loaded.config.hostDirName diff --git a/scripts/build/copy-statics.js b/scripts/build/copy-statics.js new file mode 100644 index 0000000..5f838d8 --- /dev/null +++ b/scripts/build/copy-statics.js @@ -0,0 +1,11 @@ +const fse = require('fs-extra'); +const config = require('./constants'); + +module.exports = () => { + if (fse.pathExistsSync(`${config.srcDirName}/${config.staticsDirName}`)) { + fse.copySync( + `${config.srcDirName}/${config.staticsDirName}`, + `${config.publicDirName}` + ); + } +}; diff --git a/scripts/build/index.js b/scripts/build/index.js index 2dbf8c1..f0a16b6 100644 --- a/scripts/build/index.js +++ b/scripts/build/index.js @@ -1,6 +1,7 @@ const prepareDirectories = require('./prepare-dirs'); const copyAssets = require('./copy-assets'); const copyJSONData = require('./copy-json-data'); +const copyStatics = require('./copy-statics'); const build = require('./build'); // Prepare directories @@ -14,3 +15,6 @@ build(); // Copy JSON data copyJSONData(); + +// Copy statics +copyStatics(); diff --git a/scripts/start/listener-callback.js b/scripts/start/listener-callback.js index 89ed51a..30b7ca0 100644 --- a/scripts/start/listener-callback.js +++ b/scripts/start/listener-callback.js @@ -4,6 +4,7 @@ const build = require('../build/build'); const copyAssets = require('../build/copy-assets'); const copyJSONData = require('../build/copy-json-data'); const config = require('../build/constants'); +const copyStatics = require('../build/copy-statics'); // Operations for file changes listener module.exports = (event, path) => { @@ -14,6 +15,16 @@ module.exports = (event, path) => { if (path.includes(`${config.srcDirName}/${config.postsDirName}`)) { copyJSONData(); } + if (path.includes(`${config.srcDirName}/${config.staticsDirName}`)) { + copyStatics(); + if (event === 'unlink') { + const publicPath = path.replace( + `${config.srcDirName}/${config.staticsDirName}`, + config.publicDirName + ); + fse.removeSync(publicPath); + } + } if ( path.includes(`${config.srcDirName}/${config.pagesDirName}`) && event === 'unlink'