PHP Classes

File: public/js/tinymce/Gruntfile.js

Recommend this page to a friend!
  Classes of Abed Nego Ragil Putra  >  GoLavaCMS  >  public/js/tinymce/Gruntfile.js  >  Download  
File: public/js/tinymce/Gruntfile.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: 4 years ago
Size: 21,964 bytes
 

Contents

Class file image Download
/*eslint-env node */ var zipUtils = require('./tools/modules/zip-helper'); module.exports = function (grunt) { var packageData = grunt.file.readJSON("package.json"); var changelogLine = grunt.file.read("changelog.txt").toString().split("\n")[0]; var BUILD_VERSION = packageData.version + '-' + (process.env.BUILD_NUMBER ? process.env.BUILD_NUMBER : '0'); packageData.date = /^Version [^\(]+\(([^\)]+)\)/.exec(changelogLine)[1]; grunt.initConfig({ pkg: packageData, moxiezip: { production: { options: { baseDir: "tinymce", excludes: [ "js/**/config", "js/**/scratch", "js/**/lib", "js/**/dependency", "js/**/classes", "js/**/src", "js/**/plugin.js", "js/**/theme.js", "js/**/*.less", "js/**/*.dev.svg", "js/**/*.dev.js", "js/tinymce/tinymce.full.min.js", "js/tinymce/plugins/moxiemanager", "js/tinymce/plugins/compat3x", "js/tinymce/plugins/visualblocks/img", "js/tinymce/skins/*/fonts/*.json", "js/tinymce/skins/*/fonts/readme.md", "readme.md", "js/**/Gruntfile.js" ], to: "tmp/tinymce_<%= pkg.version %>.zip" }, src: [ "js/tinymce/langs", "js/tinymce/plugins", "js/tinymce/skins", "js/tinymce/themes", "js/tinymce/tinymce.min.js", "js/tinymce/jquery.tinymce.min.js", "js/tinymce/license.txt", "changelog.txt", "LICENSE.TXT", "readme.md" ] }, development: { options: { baseDir: "tinymce", excludes: [ "src/**/bolt/bootstrap-*", "src/**/dist", "src/**/scratch", "src/**/lib", "src/**/dependency", "js/tinymce/tinymce.full.min.js", "js/tests/.jshintrc" ], to: "tmp/tinymce_<%= pkg.version %>_dev.zip" }, src: [ "config", "src", "js", "tests", "tools", "changelog.txt", "LICENSE.TXT", "Gruntfile.js", "readme.md", "package.json", ".eslintrc", ".jscsrc", ".jshintrc" ] }, cdn: { options: { onBeforeSave: function (zip) { zip.addData("dist/version.txt", packageData.version); }, pathFilter: function (zipFilePath) { return zipFilePath.replace('js/tinymce/', 'dist/'); }, excludes: [ "js/**/config", "js/**/scratch", "js/**/classes", "js/**/lib", "js/**/dependency", "js/**/src", "js/**/*.less", "js/**/*.dev.js", "js/**/*.dev.svg", "js/tinymce/tinymce.full.min.js", "js/tinymce/plugins/moxiemanager", "js/tinymce/plugins/visualblocks/img", "js/tinymce/skins/*/fonts/*.json", "js/tinymce/skins/*/fonts/*.dev.svg", "js/tinymce/skins/*/fonts/readme.md", "readme.md", "js/tests/.jshintrc" ], concat: [ { src: [ "js/tinymce/tinymce.min.js", "js/tinymce/themes/*/theme.min.js", "js/tinymce/plugins/*/plugin.min.js", "!js/tinymce/plugins/compat3x/plugin.min.js", "!js/tinymce/plugins/example/plugin.min.js", "!js/tinymce/plugins/example_dependency/plugin.min.js" ], dest: [ "js/tinymce/tinymce.min.js" ] } ], to: "tmp/tinymce_<%= pkg.version %>_cdn.zip" }, src: [ "js/tinymce/jquery.tinymce.min.js", "js/tinymce/tinymce.js", "js/tinymce/langs", "js/tinymce/plugins", "js/tinymce/skins", "js/tinymce/themes", "js/tinymce/license.txt" ] }, component: { options: { excludes: [ "js/**/config", "js/**/scratch", "js/**/classes", "js/**/lib", "js/**/dependency", "js/**/src", "js/**/*.less", "js/**/*.dev.svg", "js/**/*.dev.js", "js/tinymce/tinymce.full.min.js", "js/tinymce/plugins/moxiemanager", "js/tinymce/plugins/example", "js/tinymce/plugins/example_dependency", "js/tinymce/plugins/compat3x", "js/tinymce/plugins/visualblocks/img", "js/tinymce/skins/*/fonts/*.json", "js/tinymce/skins/*/fonts/readme.md" ], pathFilter: function (zipFilePath) { if (zipFilePath.indexOf("js/tinymce/") === 0) { return zipFilePath.substr("js/tinymce/".length); } return zipFilePath; }, onBeforeSave: function (zip) { function jsonToBuffer(json) { return new Buffer(JSON.stringify(json, null, '\t')); } zip.addData("bower.json", jsonToBuffer({ "name": "tinymce", "description": "Web based JavaScript HTML WYSIWYG editor control.", "license": "LGPL-2.1", "keywords": ["editor", "wysiwyg", "tinymce", "richtext", "javascript", "html"], "homepage": "http://www.tinymce.com", "ignore": ["readme.md", "composer.json", "package.json", ".npmignore", "changelog.txt"] })); zip.addData("package.json", jsonToBuffer({ "name": "tinymce", "version": packageData.version, "description": "Web based JavaScript HTML WYSIWYG editor control.", "author": "Ephox Corporation", "main": "tinymce.js", "license": "LGPL-2.1", "keywords": ["editor", "wysiwyg", "tinymce", "richtext", "javascript", "html"], "bugs": { "url": "https://github.com/tinymce/tinymce/issues" } })); zip.addData("composer.json", jsonToBuffer({ "name": "tinymce/tinymce", "version": packageData.version, "description": "Web based JavaScript HTML WYSIWYG editor control.", "license": ["LGPL-2.1"], "keywords": ["editor", "wysiwyg", "tinymce", "richtext", "javascript", "html"], "homepage": "http://www.tinymce.com", "type": "component", "extra": { "component": { "scripts": [ "tinymce.js", "plugins/*/plugin.js", "themes/*/theme.js" ], "files": [ "tinymce.min.js", "plugins/*/plugin.min.js", "themes/*/theme.min.js", "skins/**" ] } }, "archive": { "exclude": ["readme.md", "bower.js", "package.json", ".npmignore", "changelog.txt"] } })); var src = grunt.file.read("js/tinymce/tinymce.js").toString(); zip.addFile( "jquery.tinymce.js", "js/tinymce/jquery.tinymce.min.js" ); var getDirs = zipUtils.getDirectories(grunt, this.excludes); zipUtils.addIndexFiles( zip, getDirs('js/tinymce/plugins'), zipUtils.generateIndex("plugins", "plugin") ); zipUtils.addIndexFiles( zip, getDirs('js/tinymce/themes'), zipUtils.generateIndex("themes", "theme") ); }, to: "tmp/tinymce_<%= pkg.version %>_component.zip" }, src: [ "js/tinymce/skins", "js/tinymce/plugins", "js/tinymce/themes", "js/tinymce/tinymce.js", "js/tinymce/tinymce.min.js", "js/tinymce/jquery.tinymce.min.js", "js/tinymce/license.txt", "changelog.txt", "readme.md" ] } }, nugetpack: { main: { options: { id: "TinyMCE", version: packageData.version, authors: "Ephox Corp", owners: "Ephox Corp", description: "The best WYSIWYG editor! TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor " + "control released as Open Source under LGPL by Ephox Corp. TinyMCE has the ability to convert HTML " + "TEXTAREA fields or other HTML elements to editor instances. TinyMCE is very easy to integrate " + "into other Content Management Systems.", releaseNotes: "Release notes for my package.", summary: "TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor " + "control released as Open Source under LGPL by Ephox Corp.", projectUrl: "http://www.tinymce.com/", iconUrl: "http://www.tinymce.com/favicon.ico", licenseUrl: "http://www.tinymce.com/license", requireLicenseAcceptance: true, tags: "Editor TinyMCE HTML HTMLEditor", excludes: [ "js/**/config", "js/**/scratch", "js/**/classes", "js/**/lib", "js/**/dependency", "js/**/src", "js/**/*.less", "js/**/*.dev.svg", "js/**/*.dev.js", "js/tinymce/tinymce.full.min.js" ], outputDir: "tmp" }, files: [ { src: "js/tinymce/langs", dest: "/content/scripts/tinymce/langs" }, { src: "js/tinymce/plugins", dest: "/content/scripts/tinymce/plugins" }, { src: "js/tinymce/themes", dest: "/content/scripts/tinymce/themes" }, { src: "js/tinymce/skins", dest: "/content/scripts/tinymce/skins" }, { src: "js/tinymce/tinymce.js", dest: "/content/scripts/tinymce/tinymce.js" }, { src: "js/tinymce/tinymce.min.js", dest: "/content/scripts/tinymce/tinymce.min.js" }, { src: "js/tinymce/jquery.tinymce.min.js", dest: "/content/scripts/tinymce/jquery.tinymce.min.js" }, { src: "js/tinymce/license.txt", dest: "/content/scripts/tinymce/license.txt" } ] }, jquery: { options: { id: "TinyMCE.jQuery", title: "TinyMCE.jQuery [Deprecated]", version: packageData.version, authors: "Ephox Corp", owners: "Ephox Corp", description: "This package has been deprecated use https://www.nuget.org/packages/TinyMCE/", releaseNotes: "This package has been deprecated use https://www.nuget.org/packages/TinyMCE/", summary: "This package has been deprecated use https://www.nuget.org/packages/TinyMCE/", projectUrl: "http://www.tinymce.com/", iconUrl: "http://www.tinymce.com/favicon.ico", licenseUrl: "http://www.tinymce.com/license", requireLicenseAcceptance: true, tags: "Editor TinyMCE HTML HTMLEditor", excludes: [ "js/**/config", "js/**/scratch", "js/**/classes", "js/**/lib", "js/**/dependency", "js/**/src", "js/**/*.less", "js/**/*.dev.svg", "js/**/*.dev.js", "js/tinymce/tinymce.full.min.js" ], outputDir: "tmp" }, files: [ { src: "js/tinymce/langs", dest: "/content/scripts/tinymce/langs" }, { src: "js/tinymce/plugins", dest: "/content/scripts/tinymce/plugins" }, { src: "js/tinymce/themes", dest: "/content/scripts/tinymce/themes" }, { src: "js/tinymce/skins", dest: "/content/scripts/tinymce/skins" }, { src: "js/tinymce/tinymce.js", dest: "/content/scripts/tinymce/tinymce.js" }, { src: "js/tinymce/tinymce.min.js", dest: "/content/scripts/tinymce/tinymce.min.js" }, { src: "js/tinymce/jquery.tinymce.min.js", dest: "/content/scripts/tinymce/jquery.tinymce.min.js" }, { src: "js/tinymce/license.txt", dest: "/content/scripts/tinymce/license.txt" } ] } }, bundle: { minified: { options: { themesDir: "js/tinymce/themes", pluginsDir: "js/tinymce/plugins", pluginFileName: "plugin.min.js", themeFileName: "theme.min.js", outputPath: "js/tinymce/tinymce.full.min.js" }, src: [ "js/tinymce/tinymce.min.js" ] }, source: { options: { themesDir: "js/tinymce/themes", pluginsDir: "js/tinymce/plugins", pluginFileName: "plugin.js", themeFileName: "theme.js", outputPath: "js/tinymce/tinymce.full.js" }, src: [ "js/tinymce/tinymce.js" ] } }, clean: { scratch: ["scratch"], release: ["tmp"], core: [ "js/tinymce/tinymce*", "js/tinymce/*.min.js", "js/tinymce/*.dev.js" ], plugins: [ "js/tinymce/plugins/**/*.min.js", "js/tinymce/plugins/**/*.dev.js", "js/tinymce/plugins/table/plugin.js", "js/tinymce/plugins/paste/plugin.js", "js/tinymce/plugins/spellchecker/plugin.js" ], skins: [ "js/tinymce/skins/**/*.min.css", "js/tinymce/skins/**/*.dev.less" ], npm: [ "node_modules", "npm-debug.log" ] }, 'bedrock-manual': { core: { config: 'config/bolt/browser.js', projectdir: '.', stopOnFailure: true, testfiles: [ 'src/**/src/test/js/atomic/**/*Test.js', 'src/**/src/test/js/browser/**/*Test.js' ], customRoutes: 'src/core/src/test/json/routes.json' } }, 'bedrock-auto': { phantomjs: { browser: 'phantomjs', config: 'config/bolt/browser.js', testfiles: ['src/**/src/test/js/**/*Test.js'], stopOnFailure: true, overallTimeout: 600000, singleTimeout: 300000, customRoutes: 'src/core/src/test/json/routes.json', name: 'phantomjs' }, chrome: { browser: 'chrome', config: 'config/bolt/browser.js', testfiles: ['src/**/src/test/js/**/*Test.js'], stopOnFailure: true, overallTimeout: 600000, singleTimeout: 300000, customRoutes: 'src/core/src/test/json/routes.json', name: 'chrome' }, firefox: { browser: 'firefox', config: 'config/bolt/browser.js', testfiles: ['src/**/src/test/js/**/*Test.js'], stopOnFailure: true, overallTimeout: 600000, singleTimeout: 300000, customRoutes: 'src/core/src/test/json/routes.json', name: 'firefox' }, MicrosoftEdge: { browser: 'MicrosoftEdge', config: 'config/bolt/browser.js', testfiles: ['src/**/src/test/js/**/*Test.js'], stopOnFailure: true, overallTimeout: 600000, singleTimeout: 300000, customRoutes: 'src/core/src/test/json/routes.json', name: 'MicrosoftEdge' }, ie: { browser: 'ie', config: 'config/bolt/browser.js', testfiles: ['src/**/src/test/js/**/*Test.js'], stopOnFailure: true, overallTimeout: 600000, singleTimeout: 300000, customRoutes: 'src/core/src/test/json/routes.json', name: 'ie' } }, subgrunt: { 'core': { path: 'src/core' }, 'ui': { path: 'src/ui' }, 'advlist-plugin': { path: 'src/plugins/advlist' }, 'anchor-plugin': { path: 'src/plugins/anchor' }, 'autolink-plugin': { path: 'src/plugins/autolink' }, 'autoresize-plugin': { path: 'src/plugins/autoresize' }, 'autosave-plugin': { path: 'src/plugins/autosave' }, 'bbcode-plugin': { path: 'src/plugins/bbcode' }, 'charmap-plugin': { path: 'src/plugins/charmap' }, 'code-plugin': { path: 'src/plugins/code' }, 'codesample-plugin': { path: 'src/plugins/codesample' }, 'colorpicker-plugin': { path: 'src/plugins/colorpicker' }, 'compat3x-plugin': { path: 'src/plugins/compat3x' }, 'contextmenu-plugin': { path: 'src/plugins/contextmenu' }, 'directionality-plugin': { path: 'src/plugins/directionality' }, 'emoticons-plugin': { path: 'src/plugins/emoticons' }, 'help-plugin': { path: 'src/plugins/help' }, 'fullpage-plugin': { path: 'src/plugins/fullpage' }, 'fullscreen-plugin': { path: 'src/plugins/fullscreen' }, 'hr-plugin': { path: 'src/plugins/hr' }, 'image-plugin': { path: 'src/plugins/image' }, 'imagetools-plugin': { path: 'src/plugins/imagetools' }, 'importcss-plugin': { path: 'src/plugins/importcss' }, 'insertdatetime-plugin': { path: 'src/plugins/insertdatetime' }, 'legacyoutput-plugin': { path: 'src/plugins/legacyoutput' }, 'link-plugin': { path: 'src/plugins/link' }, 'lists-plugin': { path: 'src/plugins/lists' }, 'media-plugin': { path: 'src/plugins/media' }, 'nonbreaking-plugin': { path: 'src/plugins/nonbreaking' }, 'noneditable-plugin': { path: 'src/plugins/noneditable' }, 'pagebreak-plugin': { path: 'src/plugins/pagebreak' }, 'paste-plugin': { path: 'src/plugins/paste' }, 'preview-plugin': { path: 'src/plugins/preview' }, 'print-plugin': { path: 'src/plugins/print' }, 'save-plugin': { path: 'src/plugins/save' }, 'searchreplace-plugin': { path: 'src/plugins/searchreplace' }, 'spellchecker-plugin': { path: 'src/plugins/spellchecker' }, 'tabfocus-plugin': { path: 'src/plugins/tabfocus' }, 'table-plugin': { path: 'src/plugins/table' }, 'template-plugin': { path: 'src/plugins/template' }, 'textcolor-plugin': { path: 'src/plugins/textcolor' }, 'textpattern-plugin': { path: 'src/plugins/textpattern' }, 'toc-plugin': { path: 'src/plugins/toc' }, 'visualblocks-plugin': { path: 'src/plugins/visualblocks' }, 'visualchars-plugin': { path: 'src/plugins/visualchars' }, 'wordcount-plugin': { path: 'src/plugins/wordcount' }, 'inlite-theme': { path: 'src/themes/inlite' }, 'modern-theme': { path: 'src/themes/modern' }, 'mobile-theme': { path: 'src/themes/mobile' }, 'lightgray-skin': { path: 'src/skins/lightgray' } }, copy: { "core": { options: { process: function (content) { return content. replace('@@majorVersion@@', packageData.version.split('.')[0]). replace('@@minorVersion@@', packageData.version.split('.').slice(1).join('.')). replace('@@releaseDate@@', packageData.date); } }, files: [ { expand: true, cwd: 'src/core/dist/tinymce', src: ['**'], dest: 'js/tinymce/' }, { expand: true, flatten: true, src: 'LICENSE.TXT', rename: function (dest) { return dest + 'license.txt'; }, dest: 'js/tinymce/' } ] }, "plugins": { files: [ { expand: true, cwd: 'src/plugins', src: ['*/dist/**'], dest: 'js/tinymce/plugins/', filter: function (filePath) { return filePath.endsWith('dist') === false; }, rename: function (dest, src) { var newSrc = src.replace(/\w+\/dist\//, ''); return dest + newSrc; } } ] }, "themes": { files: [ { expand: true, cwd: 'src/themes', src: [ '*/dist/**' ], dest: 'js/tinymce/themes/', filter: function (filePath) { return filePath.endsWith('dist') === false; }, rename: function (dest, src) { var newSrc = src.replace(/\w+\/dist\//, ''); return dest + newSrc; } } ] }, "skins": { files: [ { expand: true, cwd: 'src/skins', src: [ '*/dist/**', '!**/*.map' ], dest: 'js/tinymce/skins/', filter: function (filePath) { return filePath.endsWith('dist') === false; }, rename: function (dest, src) { var newSrc = src.replace(/\w+\/dist\//, ''); return dest + newSrc; } } ] } } }); grunt.registerTask('version', 'Creates a version file', function () { grunt.file.write('tmp/version.txt', BUILD_VERSION); }); grunt.registerTask('build-headers', 'Appends build headers to js files', function () { var header = '// ' + packageData.version + ' (' + packageData.date + ')\n'; grunt.file.write('js/tinymce/tinymce.js', header + grunt.file.read('js/tinymce/tinymce.js')); grunt.file.write('js/tinymce/tinymce.min.js', header + grunt.file.read('js/tinymce/tinymce.min.js')); }); require("load-grunt-tasks")(grunt); grunt.loadTasks("tools/tasks"); grunt.loadNpmTasks('@ephox/bolt'); grunt.loadNpmTasks('@ephox/bedrock'); grunt.registerTask("default", ["clean:scratch", "subgrunt", "copy", "build-headers", "validateVersion", "clean:release", "moxiezip", "nugetpack", "version"]); grunt.registerTask("test", ["bedrock-auto:phantomjs"]); };