diff --git a/scripts/file.js b/scripts/file.js index 1aa89363..5f857f41 100644 --- a/scripts/file.js +++ b/scripts/file.js @@ -1,16 +1,15 @@ const glob = require('glob') const fs = require('fs') +const path = require('path') function list(pattern, include = [], exclude = []) { return new Promise(resolve => { glob(pattern, function (err, files) { if (include.length) { - include = include.map(filename => `channels/${filename}.xml`) files = files.filter(filename => include.includes(filename)) } if (exclude.length) { - exclude = exclude.map(filename => `channels/${filename}.xml`) files = files.filter(filename => !exclude.includes(filename)) } @@ -19,11 +18,28 @@ function list(pattern, include = [], exclude = []) { }) } +function load(filename) { + const filePath = path.resolve(filename) + + return require(filePath) +} + function read(filename) { return fs.readFileSync(filename, { encoding: 'utf8' }) } +function write(filename, data) { + const dir = path.resolve(path.dirname(filename)) + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir, { recursive: true }) + } + + fs.writeFileSync(path.resolve(filename), data) +} + module.exports = { list, - read + read, + write, + load }