Skip to content

Commit

Permalink
Add NPM script for inlining ckeditor_base.js.
Browse files Browse the repository at this point in the history
  • Loading branch information
f1ames authored and jacekbogdanski committed Nov 30, 2020
1 parent 7640ab8 commit 2d376c2
Show file tree
Hide file tree
Showing 5 changed files with 359 additions and 36 deletions.
2 changes: 2 additions & 0 deletions ckeditor.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@
// Compressed version of core/ckeditor_base.js. See original for instructions.
/* jshint ignore:start */
/* jscs:disable */
// replace_start
window.CKEDITOR||(window.CKEDITOR=function(){var f=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,e={timestamp:"",version:"%VERSION%",revision:"%REV%",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:f},status:"unloaded",basePath:function(){var a=window.CKEDITOR_BASEPATH||"";if(!a)for(var d=document.getElementsByTagName("script"),c=0;c<d.length;c++){var b=d[c].src.match(f);if(b){a=b[1];break}}-1==a.indexOf(":/")&&"//"!=a.slice(0,2)&&(a=0===a.indexOf("/")?location.href.match(/^.*?:\/\/[^\/]*/)[0]+
a:location.href.match(/^[^\?]*\/(?:)/)[0]+a);if(!a)throw'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return a}(),getUrl:function(a){-1==a.indexOf(":/")&&0!==a.indexOf("/")&&(a=this.basePath+a);this.timestamp&&"/"!=a.charAt(a.length-1)&&!/[&?]t=/.test(a)&&(a+=(0<=a.indexOf("?")?"&":"?")+"t="+this.timestamp);return a},domReady:function(){function a(){try{document.addEventListener?(document.removeEventListener("DOMContentLoaded",
a,!1),window.removeEventListener("load",a,!1),d()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),window.detachEvent("onload",a),d())}catch(b){}}function d(){for(var b;b=c.shift();)b()}var c=[];return function(b){function g(){try{document.documentElement.doScroll("left")}catch(k){setTimeout(g,1);return}a()}c.push(b);"complete"===document.readyState&&setTimeout(a,1);if(1==c.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",
a,!1),window.addEventListener("load",a,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",a);window.attachEvent("onload",a);b=!1;try{b=!window.frameElement}catch(k){}document.documentElement.doScroll&&b&&g()}}}()},h=window.CKEDITOR_GETURL;if(h){var l=e.getUrl;e.getUrl=function(a){return h.call(e,a)||l.call(e,a)}}return e}());
// replace_end
/* jscs:enable */
/* jshint ignore:end */

Expand Down
5 changes: 2 additions & 3 deletions core/ckeditor_base.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,12 @@

/**
* @fileOverview Contains the first and essential part of the {@link CKEDITOR}
* object definition.
* object definition.
*/

// #### Compressed Code
// Compressed code in ckeditor.js must be be updated on changes in the script.
// The Closure Compiler online service should be used when updating this manually:
// http://closure-compiler.appspot.com/
// Simply run `npm run build-base` after changing this file.

// #### Raw code
// ATTENTION: read the above "Compressed Code" notes when changing this code.
Expand Down
31 changes: 31 additions & 0 deletions dev/tasks/ckeditor-base-replace.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/

/* jshint node: true, browser: false, es3: false, esversion: 6 */

'use strict';
const fs = require( 'fs' );
const uglify = require( 'uglify-js' );
const replace = require( 'replace-in-file' );

const code = fs.readFileSync( './core/ckeditor_base.js', 'utf8' );
const minified = uglify.minify( code, {
ie8: true
} );

try {
const results = replace.sync( {
encoding: 'utf8',
files: './ckeditor.js',
from: /\/\/\s+replace_start\n(.|\n|\t|\r)*?\n\/\/\s+replace_end/,
to: `// replace_start\n${ minified.code }\n// replace_end`
} );

console.log( `Replacement successful: ${ results }` );
}
catch ( error ) {
console.error( `Replacement failed: ${ error }` );
}
Loading

0 comments on commit 2d376c2

Please sign in to comment.