ckeditor5-image-upload-base64
Version:
The development environment of CKEditor 5 – the best browser-based rich text editor.
85 lines (65 loc) • 2.01 kB
JavaScript
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
/* eslint-env node */
/*
Usage:
node scripts/bump-year.js
Full command to update the entire project:
git pull && node scripts/bump-year.js
And after reviewing the changes:
git commit -am "Internal: Bumped the year." && git push
*/
const glob = require( 'glob' );
const minimatch = require( 'minimatch' );
const fs = require( 'fs' );
const includeDotFiles = {
dot: true
};
glob( '!(build|coverage|node_modules|external)/**', updateYear );
// LICENSE.md, .eslintrc.js, etc.
glob( '*', includeDotFiles, updateYear );
function updateYear( err, fileNames ) {
const filteredFileNames = fileNames.filter( fileName => {
// Filter out nested `node_modules`.
if ( minimatch( fileName, '**/node_modules/**' ) ) {
return false;
}
// Filter out stuff from `src/lib/`.
if ( minimatch( fileName, '**/src/lib/**' ) ) {
return false;
}
// Filter out builds.
if ( minimatch( fileName, '**/ckeditor5-build-*/build/**' ) ) {
return false;
}
// Filter out directories.
if ( fs.statSync( fileName ).isDirectory() ) {
return false;
}
return true;
} );
filteredFileNames.forEach( fileName => {
fs.readFile( fileName, ( err, data ) => {
data = data.toString();
const year = new Date().getFullYear();
const regexp = /Copyright \(c\) 2003-\d{4}/g;
const updatedData = data.replace( regexp, 'Copyright (c) 2003-' + year );
if ( data == updatedData ) {
// License headers are only required in JS files.
// Also, the file might have already been updated.
if ( fileName.endsWith( '.js' ) && !data.match( regexp ) ) {
console.warn( `The file "${ process.cwd() }/${ fileName }" misses a license header.` );
}
} else {
fs.writeFile( fileName, updatedData, err => {
if ( err ) {
throw err;
}
} );
}
} );
} );
}