PHP Classes

File: public/js/tinymce/tools/tasks/bundle.js

Recommend this page to a friend!
  Classes of Abed Nego Ragil Putra   GoLavaCMS   public/js/tinymce/tools/tasks/bundle.js   Download  
File: public/js/tinymce/tools/tasks/bundle.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: GoLavaCMS
Publish content on Web pages with SEO support
Author: By
Last change:
Date: 6 years ago
Size: 1,827 bytes
 

Contents

Class file image Download
var fs = require("fs"); var path = require("path"); module.exports = function (grunt) { grunt.registerMultiTask("bundle", "Bundles code, themes and bundles to a single file.", function () { var options, contents, themes, plugins; function appendFile(src) { src = src.replace(/\\/g, '/'); if (fs.existsSync(src)) { grunt.log.writeln("Appending file:", src); contents += grunt.file.read(src); } else { grunt.fail.fatal("Could not find file: " + src); } } function append(dirPath, fileName, value) { if (value) { value.split(/,/).forEach(function (src) { appendFile(path.join(dirPath, src, fileName)); }); } } options = grunt.config([this.name, this.target]).options; options.themesDir = options.themesDir || "plugins"; options.themeFileName = options.themeFileName || "theme.min.js"; options.pluginsDir = options.pluginsDir || "plugins"; options.pluginFileName = options.pluginFileName || "plugin.min.js"; options.outputPath = options.outputPath || "full.min.js"; themes = grunt.option("themes"); plugins = grunt.option("plugins"); if (!themes && !plugins) { grunt.log.writeln("Use: grunt bundle --themes <comma separated list of themes> --plugins <comma separated list of plugins>"); process.exit(-1); return; } contents = ""; this.files.forEach(function (filePair) { filePair.src.forEach(function (src) { appendFile(src); }); }); append(options.themesDir, options.themeFileName, themes); append(options.pluginsDir, options.pluginFileName, plugins); if (contents.length > 0) { grunt.file.write(options.outputPath, contents); grunt.log.ok("Created bundle js:", options.outputPath); } }); };