let fs = require('fs-extra'); /* BitmapMask.frag BitmapMask.vert DeferredDiffuse.frag DeferredDiffuse.vert ForwardDiffuse.frag GBuffer.frag TextureTint.frag TextureTint.vert */ let srcdir = './src/renderer/webgl/shaders/src/'; let destdir = './src/renderer/webgl/shaders/'; let files = fs.readdirSync(srcdir); files.forEach(function (file) { let shaderSource = fs.readFileSync(srcdir + file, 'utf8'); let type = file.substr(-4); let shaderFilename = file.substr(0, file.lastIndexOf('.')) + '-' + type + '.js'; let outputSource = 'module.exports = [\n'; let lines = shaderSource.split('\n'); for (var i = 0; i < lines.length; i++) { let line = lines[i].trimRight(); if (i < lines.length - 1) { outputSource = outputSource.concat(" '" + line + "',\n"); } else { outputSource = outputSource.concat(" '" + line + "'\n"); } } outputSource = outputSource.concat('].join(\'\\n\');\n'); fs.writeFile(destdir + shaderFilename, outputSource, function (error) { if (error) { throw error; } else { console.log('Saved', shaderFilename); } }); });