Example of using esbuild
to bundle a CLI into a single executable. This is not an officially support use case. There may be severe limitations to using this approach.
$ npm install -g @oclif/plugin-test-esbuild-single
$ bundle COMMAND
running command...
$ bundle (--version)
@oclif/plugin-test-esbuild-single/0.2.4 darwin-arm64 node-v20.11.0
$ bundle --help [COMMAND]
USAGE
$ bundle COMMAND
...
- plugin-test-esbuild-single
- Usage
- Commands
bundle esbuild [OPTIONALARG] [DEFAULTARG] [DEFAULTFNARG]
bundle hello PERSON
bundle hello alias
bundle hello world
bundle help [COMMANDS]
bundle plugins
bundle plugins:install PLUGIN...
bundle plugins:inspect PLUGIN...
bundle plugins:install PLUGIN...
bundle plugins:link PLUGIN
bundle plugins:uninstall PLUGIN...
bundle plugins reset
bundle plugins:uninstall PLUGIN...
bundle plugins:uninstall PLUGIN...
bundle plugins update
USAGE
$ bundle esbuild [OPTIONALARG] [DEFAULTARG] [DEFAULTFNARG] [--json] [--optionalString <value>]
[--defaultString <value>] [--defaultFnString <value>]
FLAGS
--defaultFnString=<value> [default: async fn default]
--defaultString=<value> [default: simple string default]
--optionalString=<value>
GLOBAL FLAGS
--json Format output as json.
Say hello
USAGE
$ bundle hello PERSON -f <value>
ARGUMENTS
PERSON Person to say hello to
FLAGS
-f, --from=<value> (required) Who is saying hello
DESCRIPTION
Say hello
EXAMPLES
$ oex hello friend --from oclif
hello friend from oclif! (./src/commands/hello/index.ts)
Say hello world
USAGE
$ bundle hello alias
DESCRIPTION
Say hello world
EXAMPLES
$ bundle hello alias
hello world! (./src/commands/hello/world.ts)
Say hello world
USAGE
$ bundle hello world
DESCRIPTION
Say hello world
EXAMPLES
$ bundle hello world
hello world! (./src/commands/hello/world.ts)
Display help for bundle.
USAGE
$ bundle help [COMMANDS] [-n]
ARGUMENTS
COMMANDS Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for bundle.
See code: @oclif/plugin-help
List installed plugins.
USAGE
$ bundle plugins [--json] [--core]
FLAGS
--core Show core plugins.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List installed plugins.
EXAMPLES
$ bundle plugins
See code: @oclif/plugin-plugins
Installs a plugin into the CLI.
USAGE
$ bundle plugins add plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-s, --silent Silences yarn output.
-v, --verbose Show verbose yarn output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ bundle plugins add
EXAMPLES
$ bundle plugins add myplugin
$ bundle plugins add https://github.com/someuser/someplugin
$ bundle plugins add someuser/someplugin
Displays installation properties of a plugin.
USAGE
$ bundle plugins inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ bundle plugins inspect myplugin
See code: @oclif/plugin-plugins
Installs a plugin into the CLI.
USAGE
$ bundle plugins install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-s, --silent Silences yarn output.
-v, --verbose Show verbose yarn output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ bundle plugins add
EXAMPLES
$ bundle plugins install myplugin
$ bundle plugins install https://github.com/someuser/someplugin
$ bundle plugins install someuser/someplugin
See code: @oclif/plugin-plugins
Links a plugin into the CLI for development.
USAGE
$ bundle plugins link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
--[no-]install Install dependencies after linking the plugin.
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ bundle plugins link myplugin
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ bundle plugins remove plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ bundle plugins unlink
$ bundle plugins remove
EXAMPLES
$ bundle plugins remove myplugin
Remove all user-installed and linked plugins.
USAGE
$ bundle plugins reset [--hard] [--reinstall]
FLAGS
--hard Delete node_modules and package manager related files in addition to uninstalling plugins.
--reinstall Reinstall all plugins after uninstalling.
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ bundle plugins uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ bundle plugins unlink
$ bundle plugins remove
EXAMPLES
$ bundle plugins uninstall myplugin
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ bundle plugins unlink plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ bundle plugins unlink
$ bundle plugins remove
EXAMPLES
$ bundle plugins unlink myplugin
Update installed plugins.
USAGE
$ bundle plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
See code: @oclif/plugin-plugins