Repository: yt-dlp/yt-dlp
File: yt_dlp/options.py (Python)

Code before:
        callback_kwargs={'delim': None},
        default=['default'],
        help=(
            'Path to an additional directory to search for plugins. '
            'This option can be used multiple times to add multiple directories. '
            'Use "default" to search the default plugin directories (default)'))
    general.add_option(
        '--no-plugin-dirs',
        dest='plugin_dirs', action='store_const', const=[],
        help='Clear plugin directories to search, including defaults and those provided by previous --plugin-dirs')
    general.add_option(
        '--js-runtimes',
        metavar='RUNTIME[:PATH]',
        dest='js_runtimes',
        action='callback',
        callback=_list_from_options_callback,
        type='str',
        callback_kwargs={'delim': None},
        default=['deno'],
        help=(
            'Additional JavaScript runtime to enable, with an optional path to the runtime location. '
            'This option can be used multiple times to enable multiple runtimes. '
            'Supported runtimes are (in order of priority, from highest to lowest): deno, node, quickjs, bun. '
            'Only "deno" is enabled by default. The highest priority runtime that is both enabled and '
            'available will be used. In order to use a lower priority runtime when "deno" is available, '
            '--no-js-runtimes needs to be passed before enabling other runtimes.'))
    general.add_option(
        '--no-js-runtimes',
        dest='js_runtimes', action='store_const', const=[],
        help='Clear JavaScript runtimes to enable, including defaults and those provided by previous --js-runtimes')
    general.add_option(
        '--remote-components',
        metavar='COMPONENT',
        dest='remote_components',
        action='callback',
        callback=_list_from_options_callback,
        type='str',
        callback_kwargs={'delim': None},
        default=[],
        help=(
            'Remote components to allow yt-dlp to fetch when required. '
            'This option is currently not needed if you are using an official executable '
            'or have the yt-dlp-ejs library installed in your Python environment. '
            'You can use this option multiple times to allow multiple components. '
            'Supported values: ejs:npm (external JavaScript components from npm), '
            'ejs:github (external JavaScript components from yt-dlp-ejs GitHub). '
            'By default, no remote components are allowed.'))
    general.add_option(
        '--no-remote-components',
        dest='remote_components', action='store_const', const=[],
        help='Disallow fetching of all remote components, including any previously allowed by --remote-components or defaults.')

Review comment (suggestion):
```suggestion
            '--no-js-runtimes needs to be passed before enabling other runtimes'))
```

Code after:
        callback_kwargs={'delim': None},
        default=['default'],
        help=(
            'Path to an additional directory to search for plugins. '
            'This option can be used multiple times to add multiple directories. '
            'Use "default" to search the default plugin directories (default)'))
    general.add_option(
        '--no-plugin-dirs',
        dest='plugin_dirs', action='store_const', const=[],
        help='Clear plugin directories to search, including defaults and those provided by previous --plugin-dirs')
    general.add_option(
        '--js-runtimes',
        metavar='RUNTIME[:PATH]',
        dest='js_runtimes',
        action='callback',
        callback=_list_from_options_callback,
        type='str',
        callback_kwargs={'delim': None},
        default=['deno'],
        help=(
            'Additional JavaScript runtime to enable, with an optional path to the runtime location. '
            'This option can be used multiple times to enable multiple runtimes. '
            'Supported runtimes are (in order of priority, from highest to lowest): deno, node, quickjs, bun. '
            'Only "deno" is enabled by default. The highest priority runtime that is both enabled and '
            'available will be used. In order to use a lower priority runtime when "deno" is available, '
            '--no-js-runtimes needs to be passed before enabling other runtimes'))
    general.add_option(
        '--no-js-runtimes',
        dest='js_runtimes', action='store_const', const=[],
        help='Clear JavaScript runtimes to enable, including defaults and those provided by previous --js-runtimes')
    general.add_option(
        '--remote-components',
        metavar='COMPONENT',
        dest='remote_components',
        action='callback',
        callback=_list_from_options_callback,
        type='str',
        callback_kwargs={'delim': None},
        default=[],
        help=(
            'Remote components to allow yt-dlp to fetch when required. '
            'This option is currently not needed if you are using an official executable '
            'or have the requisite version of the yt-dlp-ejs package installed. '
            'You can use this option multiple times to allow multiple components. '
            'Supported values: ejs:npm (external JavaScript components from npm), '
            'ejs:github (external JavaScript components from yt-dlp-ejs GitHub). '
            'By default, no remote components are allowed'))
    general.add_option(
        '--no-remote-components',
        dest='remote_components', action='store_const', const=[],
        help='Disallow fetching of all remote components, including any previously allowed by --remote-components or defaults.')