Skip to content
This repository has been archived by the owner on Dec 11, 2017. It is now read-only.

Create bundles for CodeMirror assets #92

Merged
merged 10 commits into from
Sep 13, 2017
10 changes: 8 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@

# CodeMirror sources
wp-includes/js
!wp-includes/js/htmlhint-kses.js
wp-includes/js/codemirror/*.min.css
wp-includes/js/codemirror/*.min.js
wp-includes/js/codemirror/codemirror.js
wp-includes/js/codemirror/codemirror.css
wp-includes/js/csslint.js
wp-includes/js/htmlhint.js
wp-includes/js/jsonlint.js
wp-includes/js/jshint.js

build
*.zip
Expand Down
2 changes: 2 additions & 0 deletions .svnignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,5 @@ vendor
composer.json
composer.lock
core-commit-message.txt
wp-includes/js/codemirror/codemirror.js
wp-includes/js/codemirror/codemirror.css
105 changes: 103 additions & 2 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,91 @@ module.exports = function( grunt ) {
grunt.initConfig( {

pkg: grunt.file.readJSON( 'package.json' ),
pkgLock: grunt.file.readJSON( 'package-lock.json' ),
codemirrorLicenseBlock: grunt.file.read( 'node_modules/codemirror/lib/codemirror.js' ).replace( /\(function(.|\s)+$/, '' ).replace( /(^|\n)\/\/ */g, '$1' ).trim(),

browserify: {
codemirror: {
options: {
banner: '/*! This file is auto-generated from CodeMirror - <%= pkgLock.dependencies.codemirror.version %>\n\n<%= codemirrorLicenseBlock %>\n*/\n\n'
},
src: 'wp-includes/js/codemirror/codemirror.manifest.js',
dest: 'wp-includes/js/codemirror/codemirror.js'
}
},

uglify: {
options: {
ASCIIOnly: true,
screwIE8: false
},
codemirror: {
options: {

// Preserve comments that start with a bang.
preserveComments: /^!/
},
src: 'wp-includes/js/codemirror/codemirror.js',
dest: 'wp-includes/js/codemirror/codemirror.min.js'
}
},

concat: {
codemirror: {
options: {
banner: '/*! This file is auto-generated from CodeMirror - <%= pkgLock.dependencies.codemirror.version %>\n\n<%= codemirrorLicenseBlock %>\n*/\n\n',
separator: '\n',
process: function( src, filepath ) {
return '/* Source: ' + filepath.replace( 'node_modules/', '' ) + '*/\n' + src;
}
},
src: [
'node_modules/codemirror/lib/codemirror.css',
'node_modules/codemirror/addon/hint/show-hint.css',
'node_modules/codemirror/addon/lint/lint.css',
'node_modules/codemirror/addon/dialog/dialog.css',
'node_modules/codemirror/addon/display/fullscreen.css',
'node_modules/codemirror/addon/fold/foldgutter.css',
'node_modules/codemirror/addon/merge/merge.css',
'node_modules/codemirror/addon/scroll/simplescrollbars.css',
'node_modules/codemirror/addon/search/matchesonscrollbar.css',
'node_modules/codemirror/addon/tern/tern.css'
],
dest: 'wp-includes/js/codemirror/codemirror.css'
}
},

cssmin: {
options: {
compatibility: 'ie7'
},
codemirror: {
expand: true,
ext: '.min.css',
src: [
'wp-includes/js/codemirror/codemirror.css'
]
}
},

copy: {
csslint: {
src: 'node_modules/csslint/dist/csslint.js',
dest: 'wp-includes/js/csslint.js'
},
htmlhint: {
src: 'node_modules/htmlhint/lib/htmlhint.js',
dest: 'wp-includes/js/htmlhint.js'
},
jshint: {
src: 'node_modules/jshint/dist/jshint.js',
dest: 'wp-includes/js/jshint.js'
},
jsonlint: {
src: 'node_modules/jsonlint/lib/jsonlint.js',
dest: 'wp-includes/js/jsonlint.js'
}
},

rtlcss: {
options: {
Expand Down Expand Up @@ -91,7 +176,7 @@ module.exports = function( grunt ) {
command: 'CHECK_SCOPE=all bash dev-lib/pre-commit'
},
build_release_zip: {
command: 'npm run build-release-zip'
command: 'if [ -e build ]; then rm -r build; fi; mkdir build; rsync -avz ./ build/ --exclude-from=.svnignore; if [ -e better-code-editing.zip ]; then rm better-code-editing.zip; fi; cd build; zip -r ../better-code-editing.zip .; cd ..; echo; echo "Please see: $(pwd)/better-code-editing.zip"'
},
verify_matching_versions: {
command: 'php bin/verify-version-consistency.php'
Expand All @@ -117,6 +202,10 @@ module.exports = function( grunt ) {
grunt.loadNpmTasks( 'grunt-shell' );
grunt.loadNpmTasks( 'grunt-wp-deploy' );
grunt.loadNpmTasks( 'grunt-rtlcss' );
grunt.loadNpmTasks( 'grunt-browserify' );
grunt.loadNpmTasks( 'grunt-contrib-concat' );
grunt.loadNpmTasks( 'grunt-contrib-uglify' );
grunt.loadNpmTasks( 'grunt-contrib-cssmin' );

grunt.registerTask( 'rtl', [ 'rtlcss:core' ] );

Expand All @@ -131,14 +220,26 @@ module.exports = function( grunt ) {

grunt.registerTask( 'build', [
'readme',
'copy',
'shell:verify_matching_versions',
'shell:lint',
'rtl',

'browserify',
'uglify',

'concat',
'cssmin',
'rtl'
] );

grunt.registerTask( 'build-release-zip', [
'build',
'shell:build_release_zip'
] );

grunt.registerTask( 'deploy', [
'build',
'shell:build_release_zip',
'wp_deploy',
'clean'
] );
Expand Down
2 changes: 1 addition & 1 deletion better-code-editing.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ function _better_code_editing_plugin_npm_install_required() {
}

// Show notice if repo was cloned from source without running npm install.
if ( ! file_exists( dirname( __FILE__ ) . '/wp-includes/js/codemirror/lib/codemirror.js' ) ) {
if ( ! file_exists( dirname( __FILE__ ) . '/wp-includes/js/codemirror/codemirror.min.js' ) ) {
add_action( 'admin_notices', '_better_code_editing_plugin_npm_install_required' );
return;
}
Expand Down
23 changes: 0 additions & 23 deletions bin/build-release-zip.sh

This file was deleted.

117 changes: 0 additions & 117 deletions bin/codemirror-rsync-excludes.txt

This file was deleted.

17 changes: 0 additions & 17 deletions bin/install-assets.sh

This file was deleted.

Loading