From 414fefd0faa231491fd8c4da82bc0c12e1820a86 Mon Sep 17 00:00:00 2001 From: Guusvanmeerveld Date: Tue, 27 Jul 2021 11:44:24 +0200 Subject: [PATCH] Added customizable input and output folder for builder --- builder.config.js | 2 ++ src/builder/index.js | 6 +++--- src/builder/watch.js | 13 ++++++------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/builder.config.js b/builder.config.js index 45a25f2..b8a7baa 100644 --- a/builder.config.js +++ b/builder.config.js @@ -1,4 +1,6 @@ module.exports = { + root: 'src', + out: 'dist', paths: { "@stylesheets": "css", "@scripts": "js", diff --git a/src/builder/index.js b/src/builder/index.js index 4c390d4..3767e2a 100644 --- a/src/builder/index.js +++ b/src/builder/index.js @@ -1,11 +1,11 @@ const { join } = require('path'); const fs = require('fs-extra'); -const srcDir = join(process.cwd(), 'src'); -const distDir = join(process.cwd(), 'dist'); - const config = require(join(process.cwd(), 'builder.config.js')); +const srcDir = join(process.cwd(), config.root); +const distDir = join(process.cwd(), config.out); + const { builder } = require('./builders'); if (config.interpreter) { diff --git a/src/builder/watch.js b/src/builder/watch.js index 4b22183..14dcca2 100644 --- a/src/builder/watch.js +++ b/src/builder/watch.js @@ -3,10 +3,10 @@ const { join } = require('path'); const { fileBuilder } = require('./builders'); -const { interpreter } = require(join(process.cwd(), 'builder.config.js')); +const config = require(join(process.cwd(), 'builder.config.js')); -const srcDir = join(process.cwd(), 'src'); -const distDir = join(process.cwd(), 'dist'); +const srcDir = join(process.cwd(), config.root); +const distDir = join(process.cwd(), config.out); const watcher = chokidar.watch(srcDir, { persistent: true, @@ -20,12 +20,11 @@ watcher.on('change', async (path) => { splittedPath.pop(); + const conf = config.interpreter.find((conf) => conf.input == (splittedPath.join('/') || '.')); - const config = interpreter.find((conf) => conf.input == (splittedPath.join('/') || '.')); - - if (config) { + if (conf) { const fileType = path.split('.').pop(); - const outPath = join(distDir, config.output); + const outPath = join(distDir, conf.output); await fileBuilder(path, outPath, fileType); }