WordPress.org

Make WordPress Core

Ticket #25159: 25159.2.patch

File 25159.2.patch, 4.6 KB (added by azaozz, 8 months ago)
  • Gruntfile.js

     
    1414                                cwd: BUILD_DIR, 
    1515                                src: [] 
    1616                        }, 
     17                        tinymce: { 
     18                                src: [ 
     19                                        '<%= concat.tinymce.dest %>', 
     20                                        BUILD_DIR + 'wp-includes/js/tinymce/wp-tinymce-schema.min.js', 
     21                                        BUILD_DIR + 'wp-includes/js/tinymce/mark_loaded.js' 
     22                                ] 
     23                        } 
    1724                }, 
    1825                copy: { 
    1926                        all: { 
     
    5764                                        'wp-includes/js/plupload/handlers.js', 
    5865                                        'wp-includes/js/plupload/wp-plupload.js', 
    5966                                        'wp-includes/js/tinymce/plugins/wp*/js/*.js', 
     67                                        'wp-includes/js/tinymce/wp-tinymce-schema.js', 
    6068                                        // Exceptions 
    6169                                        '!wp-admin/js/custom-header.js', // Why? We should minify this. 
    6270                                        '!wp-admin/js/farbtastic.js', 
     
    6371                                        '!wp-admin/js/iris.min.js', 
    6472                                        '!wp-includes/js/backbone.min.js', 
    6573                                        '!wp-includes/js/swfobject.js', 
    66                                         '!wp-includes/js/underscore.min.js' 
     74                                        '!wp-includes/js/underscore.min.js', 
     75                                        '!wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js' // Hard-coded in the static html file 
    6776                                ] 
    6877                        }, 
    6978                        tinymce: { 
     
    7281                                dest: BUILD_DIR, 
    7382                                src: [ 
    7483                                        'wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js', 
    75                                         'wp-includes/js/tinymce/plugins/wp*/editor_plugin_src.js' 
     84                                        'wp-includes/js/tinymce/plugins/wp*/editor_plugin_src.js', 
     85                                        'wp-includes/js/tinymce/mark_loaded_src.js' 
    7686                                ], 
    7787                                // TinyMCE plugins use a nonstandard naming scheme: plugin files are named 
    7888                                // `editor_plugin_src.js`, and are compressed into `editor_plugin.js`. 
    7989                                rename: function(destBase, destPath) { 
    80                                         destPath = destPath.replace('/editor_plugin_src.js', '/editor_plugin.js'); 
     90                                        destPath = destPath.replace(/_src.js$/, '.js'); 
    8191                                        return path.join(destBase || '', destPath); 
    8292                                } 
    8393                        } 
    8494                }, 
     95                concat: { 
     96                        tinymce: { 
     97                                options: { 
     98                                        separator: '\n', 
     99                                        banner: '// Created: <%= grunt.template.today("UTC:yyyy-mm-dd HH:MM:ss Z") %>\n', 
     100                                        process: function( src, filepath ) { 
     101                                                return '// Source: ' + filepath.replace( BUILD_DIR, '' ) + '\n' + src; 
     102                                        } 
     103                                }, 
     104                                src: [ 
     105                                        BUILD_DIR + 'wp-includes/js/tinymce/tiny_mce.js', 
     106                                        BUILD_DIR + 'wp-includes/js/tinymce/wp-tinymce-schema.min.js', 
     107                                        BUILD_DIR + 'wp-includes/js/tinymce/themes/advanced/editor_template.js', 
     108                                        BUILD_DIR + 'wp-includes/js/tinymce/plugins/*/editor_plugin.js', 
     109                                        BUILD_DIR + 'wp-includes/js/tinymce/mark_loaded.js' 
     110                                ], 
     111                                dest: BUILD_DIR + 'wp-includes/js/tinymce/wp-tinymce.js' 
     112                        } 
     113                }, 
     114                compress: { 
     115                        tinymce: { 
     116                                options: { 
     117                                        mode: 'gzip', 
     118                                        level: 9 
     119                                }, 
     120                                src: '<%= concat.tinymce.dest %>', 
     121                                dest: BUILD_DIR + 'wp-includes/js/tinymce/wp-tinymce.js.gz' 
     122                        } 
     123                }, 
    85124                watch: { 
    86125                        all: { 
    87126                                files: [ 
     
    105144        grunt.loadNpmTasks('grunt-contrib-cssmin'); 
    106145        grunt.loadNpmTasks('grunt-contrib-uglify'); 
    107146        grunt.loadNpmTasks('grunt-contrib-watch'); 
     147        grunt.loadNpmTasks('grunt-contrib-compress'); 
     148        grunt.loadNpmTasks('grunt-contrib-concat'); 
    108149 
    109150        // Register tasks. 
    110         grunt.registerTask('build', ['clean:all', 'copy:all', 'cssmin:core', 
    111                 'uglify:core', 'uglify:tinymce']); 
     151        grunt.registerTask('build', ['clean:all', 'copy:all', 'cssmin:core', 'uglify:core', 
     152                'uglify:tinymce', 'concat:tinymce', 'compress:tinymce', 'clean:tinymce']); 
    112153 
    113154        // Default task. 
    114155        grunt.registerTask('default', ['build']); 
     
    117158        // 
    118159        // On `watch:all`, automatically updates the `copy:dynamic` and `clean:dynamic` 
    119160        // configurations so that only the changed files are updated. 
    120         grunt.event.on('watch', function(action, filepath, target) { 
    121                 if (target != 'all') return; 
     161        grunt.event.on('watch', function( action, filepath, target ) { 
     162                if ( target != 'all' ) 
     163                        return; 
    122164 
    123                 var relativePath = path.relative(SOURCE_DIR, filepath); 
    124                 var cleanSrc = (action == 'deleted') ? [relativePath] : []; 
    125                 var copySrc = (action == 'deleted') ? [] : [relativePath]; 
     165                var relativePath = path.relative( SOURCE_DIR, filepath ); 
     166                var cleanSrc = ( action == 'deleted' ) ? [relativePath] : []; 
     167                var copySrc = ( action == 'deleted' ) ? [] : [relativePath]; 
     168 
    126169                grunt.config(['clean', 'dynamic', 'src'], cleanSrc); 
    127170                grunt.config(['copy', 'dynamic', 'src'], copySrc); 
    128171        }); 
  • package.json

     
    1414    "grunt-contrib-copy": "~0.4.1", 
    1515    "grunt-contrib-cssmin": "~0.6.1", 
    1616    "grunt-contrib-uglify": "~0.2.2", 
    17     "grunt-contrib-watch": "~0.5.1" 
     17    "grunt-contrib-watch": "~0.5.1", 
     18    "grunt-contrib-compress": "~0.5.2", 
     19    "grunt-contrib-concat": "~0.3.0" 
    1820  } 
    1921}