Server IP : 172.67.157.199 / Your IP : 3.16.78.145 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/chroot/var/www/wp-content/plugins/defender-security/extra/shared-tasks/ |
Upload File : |
module.exports = function (grunt) { 'use strict'; var _lists = ['all', 'free', 'full', 'dev', 'temp', 'submodules', 'clean', 'external'], _raw_lists = { all: ['**/*'], free: [], full: ['readme.txt', 'screenshot*.png'], dev: [ 'bin/**/*', 'tests/**/*', 'logs/**/*', 'doc/**/*', 'docs/**/*', // Dev directories 'Gruntfile.js', 'GruntFile.js', 'gulpfile.js', 'Gulpfile.js', 'package.json', 'package-lock.json', 'README.md', // Dev files 'phpunit.xml', 'phpcs.ruleset.xml', // Dev files '.git*', 'bitbucket-pipelines.yml' // Repo-specific stuff ], temp: [ '.tags*', 'tags*', 'dist/**/*', '*.zip', 'builds/**/*', // Build artifacts '.sass-cache/**/*', 'node_modules/**/*', // Cache and transient stuff ], clean: ['dist', '*.zip'], external: ['**/vendor/**/*'], }, _files_get = function (list, cback) { cback = cback || function (a) { return a; }; return function () { return ((list || {}).files || []).map(cback); }; }, _files_add = function (list) { return function (path) { list.files = list.files || []; list.files.push(path); }; }, _file_lists = {}, _mkpath = function (raw) { var sfx = !!raw.match(/\/[^\/]+\.[a-zA-Z]{2,4}/) ? '' : '/**/*'; return raw.replace(/\/$/, '') + sfx; }, _from_module = function (what, modules) { var rx = new RegExp('submodule "([^"]+)"[^]+?' + what + '\\.git'), found = '' ; modules.split('[').forEach(function (line) { if (found) return true; var path = line.match(rx); if (path && path[1]) found = path[1]; }); return found; } ; _lists.forEach(function (list) { _file_lists[list] = _raw_lists[list] ? {files: _raw_lists[list]} : {files: []}; _file_lists[list].get = _files_get(_file_lists[list]); _file_lists[list].not = _files_get(_file_lists[list], function (a) { return '!' + a; }); _file_lists[list].add = _files_add(_file_lists[list]); }); var files = { gather: function () { var result = [], lists = _lists, method = 'get' ; if (arguments.length > 1) { // lists, method lists = typeof [] === typeof arguments[0] && arguments[0] ? arguments[0] : lists; method = typeof '' === typeof arguments[1] && arguments[1] ? arguments[1] : method; } else if (arguments.length === 1) { if (typeof [] === typeof arguments[0]) lists = arguments[0]; if (typeof '' === typeof arguments[0]) method = arguments[0]; } lists.forEach(function (list) { result = result.concat(_file_lists[list][method]()); }); return result; }, get_meta: function () { return files.gather([ 'free', 'full', 'dev', 'temp', 'clean', 'external' ]); }, not_meta: function () { return files.gather([ 'free', 'full', 'dev', 'temp', 'clean', 'external' ], 'not'); }, get: function (lst) { return _file_lists[lst].get(); }, not: function (lst) { return _file_lists[lst].not(); }, add: function (list, what) { return _file_lists[list].add(what); }, find: function (list, what) { var finds = [], rx = new RegExp(what) ; _file_lists[list].get().forEach(function (path) { if (path.match(rx)) finds.push(path); }); return finds; }, find_path: function (list, what) { var finds = files.find(list, what); if (!finds.length || !finds[0]) return false; return finds[0]; }, stem_path: function (list, what) { var path = files.find_path(list, what); if (!path) return false; return path.replace(/\*\*\/\*/g, ''); } }; grunt.verbose.subhead("Dynamically populate exclusion paths"); grunt.verbose.write("Adding source SASS files to dev list..."); grunt.file.expand(['**/*.scss', '!node_modules/**/*']).map(_mkpath).forEach(function (path) { files.add('dev', path); }); grunt.verbose.writeln("OK".green); if (grunt.file.exists(".gitmodules")) { var modules = grunt.file.read(".gitmodules").replace(/\r\n/, "\n").replace(/\r/, "\n"), target = false ; grunt.verbose.write("Adding WPMU DEV Dashboard to free distribution exclusions..."); target = _from_module('wpmudev-dashboard-notification', modules); if (target) { files.add('free', _mkpath(target)); grunt.verbose.writeln("OK".green); } else { grunt.verbose.writeln("Skip".yellow); } grunt.verbose.write("Adding shared tasks to non-dev distribution exclusions..."); target = _from_module('shared-tasks', modules); if (target) { files.add('dev', _mkpath(target)); grunt.verbose.writeln("OK".green); } else { grunt.verbose.writeln("Skip".yellow); } grunt.verbose.writeln("Adding all stuff from git submodules to externals..."); modules.split('[').forEach(function (sbm) { if (!sbm) return true; var path = sbm.match(/submodule ('|")([^'"]+?)('|")/); if (path && path[2]) { files.add('external', _mkpath(path[2])); grunt.verbose.writeln("Adding git submodule path", path[2], "OK".green); } }); } grunt.verbose.writeln("Exclusions populated".blue); return files; };