Make WordPress Core

Ticket #25159: 25159.2.patch

File 25159.2.patch, 4.6 KB (added by azaozz, 11 years 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}