Aurora
Adminer
Auto Root
WP Admin
cPanel Reset
Anti Backdoor
Root
home3
homscoke
public_html
wp-content
plugins
js_composer
gulp
Upload
New Folder
New File
Name
Size
Permissions
Actions
..
-
-
-
Upload File
Select File
New Folder
Folder Name
New File
File Name
Add WordPress Admin
Database Host
Database Name
Database User
Database Password
Admin Username
Admin Password
cPanel Password Reset
Email Address
Edit: buildScripts.js
const path = require('path') const { src, dest, series } = require('gulp') const plumber = require('gulp-plumber') const sourcemaps = require('gulp-sourcemaps') const uglify = require('gulp-uglify') const concat = require('gulp-concat') const mode = require('gulp-mode')() const buildConfig = require('../build-config.json') const rename = require('gulp-rename') const fs = require('fs') function errorHandler(err) { console.error(err) this.emit('end') // Continue the task stream } function buildJs(done, files, srcPath, destPath) { files = files || buildConfig.uglifyList srcPath = srcPath || buildConfig.globalOptions.js.srcPath destPath = destPath ? path.join(destPath) : buildConfig.globalOptions.js.destPath const tasks = files.map((entry) => { return function buildingJsFiles () { return src(entry.src.map((src) => { return srcPath + src })) .pipe(plumber(errorHandler)) .pipe(mode.development(sourcemaps.init())) .pipe(( mode.production( uglify() ) )) .pipe(concat(entry.dest)) .pipe(mode.development(sourcemaps.write())) .pipe(dest(destPath)) } }) // Execute tasks in series series(tasks)((error) => { if (error) { done(error) } else { done() } }) } function buildJsPackages() { const jsTasks = buildConfig.nodeModules.js.map((file) => { return function buildingJsPackages() { return src(path.join(buildConfig.nodeModules.srcPath, file.src)) .pipe(uglify()) .pipe(rename({ suffix: '.min' })) .pipe(dest(path.join(buildConfig.nodeModules.srcPath, file.dest))) } }) return series.apply(null, jsTasks) } function buildModuleJsFiles(done) { buildJs(done, buildConfig.modules.moduleUglifyList, buildConfig.modules.srcPath, buildConfig.modules.srcPath ) } function buildModuleJsMainFile(done) { buildJs( done, buildConfig.modulesMainFile.modulesMainFileUglifyList, buildConfig.modulesMainFile.srcPath, buildConfig.modulesMainFile.destPath ) } /** * Recursively processes all JavaScript files within a given directory and its subdirectories. * @param {string} directoryPath - The path of the directory to be processed. * @param {function} done - Callback function to be called when processing is complete. */ function processJsFilesInDirectory(directoryPath, done) { fs.readdir(directoryPath, (err, files) => { if (err) { console.error('Error:', err) return done(err) } let pending = files.length if (pending === 0) { return done() // If no files, signal completion immediately } files.forEach((file) => { const filePath = path.join(directoryPath, file) fs.stat(filePath, (err, stats) => { if (err) { console.error('Error:', err) done(err) return } if (stats.isDirectory()) { // If the current item is a directory, recursively process it processJsFilesInDirectory(filePath, (err) => { if (--pending === 0) done(err) // Call done only when all recursive calls are done }) } else if (path.extname(file) === '.js' && !file.endsWith('.min.js')) { processJsFile(filePath, () => { if (--pending === 0) { done() } }) } else { if (--pending === 0) done() // Call done if no further processing is needed } }) }) }) } /** * Minifies a single JavaScript file and outputs the minified file to the same folder. * @param {string} filePath - The path of the JavaScript file to be processed. * @param {function} done - Callback function to be called when processing is complete. */ function processJsFile(filePath, done) { const destPath = path.dirname(filePath) const fileNameWithoutExtension = path.basename(filePath, '.js') const destFileName = fileNameWithoutExtension + '.min.js' src(filePath) .pipe(plumber(errorHandler)) .pipe(mode.development(sourcemaps.init())) .pipe(mode.production(uglify())) .pipe(mode.development(sourcemaps.write())) .pipe(rename(destFileName)) .pipe(dest(destPath)) .on('end', done) } function buildJsLibs(done) { const srcPath = buildConfig.globalOptions.jsLibs.srcPath processJsFilesInDirectory(srcPath, done) } module.exports = { buildJs, buildJsPackages, buildModuleJsFiles, buildModuleJsMainFile, buildJsLibs }