@twilio-labs/plugin-flex
Twilio CLI plugin to interact with the Flex Plugin Builder
This plugin adds functionality to the Twilio CLI to locally develop,
build and deploy Twilio Flex plugins; it uses the Flex Plugin Builder.
Requirements
Install the Twilio CLI
Via npm
or yarn
:
$ npm install -g twilio-cli
$ yarn global add twilio-cli
Via homebrew
:
$ brew tap twilio/brew && brew install twilio
Usage
$ twilio plugins:install @twilio-labs/plugin-flex
$ twilio --help flex
USAGE
$ twilio flex
...
Commands
twilio flex:plugins:archive:configuration
Archives a Flex Plugin Configuration. Archived Plugin Configurations cannot be deployed to your Flex application and cannot be undone. Exercise extreme caution when using this command.
USAGE
$ twilio flex:plugins:archive:configuration
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--sid=sid (required) The Flex Plugin Configuration SID to archive.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/archive/configuration.js
twilio flex:plugins:archive:plugin
Archives a Flex Plugin. Archived Plugins cannot be enabled on your Flex application and cannot be undone. Exercise extreme caution when using this command.
USAGE
$ twilio flex:plugins:archive:plugin
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--name=name (required) The name of the Flex Plugin to archive.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/archive/plugin.js
twilio flex:plugins:archive:plugin-version
Archives a Flex Plugin Version. Archived Plugin Versions cannot be enabled on your Flex application and cannot be undone. Exercise extreme caution when using this command.
USAGE
$ twilio flex:plugins:archive:plugin-version
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--name=name (required) The Flex Plugin name of the Plugin Version to archive.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
--version=version (required) The Flex Plugin Version to archive.
See code: dist/commands/flex/plugins/archive/plugin-version.js
twilio flex:plugins:build
Builds the Flex plugin and creates a JavaScript and sourcemap bundle. This command needs to be invoked inside a plugin directory.
USAGE
$ twilio flex:plugins:build
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/build.js
twilio flex:plugins:create NAME
Creates a new Twilio Flex Plugin project
USAGE
$ twilio flex:plugins:create NAME
ARGUMENTS
NAME Creates a new Twilio Flex Plugin project
Arguments:
name Name of your plugin.
OPTIONS
-a, --accountSid=accountSid The Account SID for your Flex Project
-h, --help=help
-i, --install Auto-install dependencies
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
-r, --runtimeUrl The URL to your Twilio Flex Runtime
-s, --typescript Create a TypeScript project
-t, --template=template A GitHub URL that contains your template
-v, --version=version
-y, --yarn Use yarn as your dependency manager
--flexui1 Creates a plugin compatible with Flex UI major version 1.0
--flexui2 Creates a plugin compatible with Flex UI major version 2.0
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
DESCRIPTION
Arguments:
name Name of your plugin. This command needs to be invoked inside a plugin directory.
See code: dist/commands/flex/plugins/create.js
twilio flex:plugins:create-configuration
Creates a Flex Plugin Configuration. This command needs to be invoked inside a plugin directory.
USAGE
$ twilio flex:plugins:create-configuration
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--description=description (required) [default: The description of this Flex Plugin Configuration.] The
description of this Flex Plugin Configuration.
--disable-plugin=disable-plugin The plugin to disable, formatted as pluginName. Use additional --disable-plugin to
provide other plugins to disable.
--enable-plugin=enable-plugin The plugin to enable, formatted as pluginName@version. You may use pluginName@latest
as a shortcut for enabling the latest version of the plugin. Use additional
--enable-plugin to provide other plugins to enable.
--json Outputs the result of the command as json string.
--name=name (required) [default: Autogenerated Release 1731571532702] The friendly name of the
Flex Plugin Configuration.
--new Creates a new Flex Plugin Configuration, otherwise will append to existing active
Configuration.
--plugin=plugin Alias for --enable-plugin.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/create-configuration.js
twilio flex:plugins:deploy
Builds and deploys a new version of the Flex plugin to your Flex application. This command needs to be invoked inside a plugin directory.
USAGE
$ twilio flex:plugins:deploy
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--bypass-validation Validates the plugin and continues to plugin deployment ignoring validation issues,
if any.
--changelog=changelog (required) The changes (added/removed) made in this plugin version.
--clear-terminal Clears the terminal before running the command.
--description=description The description of this Flex plugin.
--json Outputs the result of the command as json string.
--major Publishes the version as a major (SemVer).
--minor Publishes the version as a minor (SemVer).
--patch Publishes the version as a patch (SemVer); this is the default.
--public Publishes the plugin as a public Twilio Asset; default is private.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
--version=version Publishes the version (SemVer).
See code: dist/commands/flex/plugins/deploy.js
twilio flex:plugins:describe:configuration
Provides details of the Flex Plugin Configuration like status, description and its associated Plugins.
USAGE
$ twilio flex:plugins:describe:configuration
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--sid=sid (required) The Flex Plugin Configuration SID.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/describe/configuration.js
twilio flex:plugins:describe:plugin
Provides details of the Flex Plugin like status, description and its Flex Plugin Versions.
USAGE
$ twilio flex:plugins:describe:plugin
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--name=name (required) The name of the Flex Plugin to describe.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/describe/plugin.js
twilio flex:plugins:describe:plugin-version
Provides details of the Flex Plugin Version like changelog, status and the url of the plugin package.
USAGE
$ twilio flex:plugins:describe:plugin-version
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--name=name (required) The Flex Plugin name of the Plugin Version to describe.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
--version=version (required) The Flex Plugin Version to describe.
See code: dist/commands/flex/plugins/describe/plugin-version.js
twilio flex:plugins:describe:release
Provides details of the Flex Plugin Release like the underlying Plugin Configuration and Plugins.
USAGE
$ twilio flex:plugins:describe:release
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--active The most recent release to describe.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--sid=sid The Flex Plugin Release SID to describe.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/describe/release.js
twilio flex:plugins:diff ID1 [ID2]
Finds the diff between two Flex Plugin Configurations.
USAGE
$ twilio flex:plugins:diff ID1 [ID2]
ARGUMENTS
ID1 The first Flex Plugin Configuration SID.
ID2 The second Flex Plugin Configuration SID.
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/diff.js
twilio flex:plugins:list:configurations
Lists the Flex Plugin Configuration on the account.
USAGE
$ twilio flex:plugins:list:configurations
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/list/configurations.js
twilio flex:plugins:list:plugin-versions
Lists the Flex Plugin Versions on the account.
USAGE
$ twilio flex:plugins:list:plugin-versions
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--name=name (required) The plugin name to list its versions.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/list/plugin-versions.js
twilio flex:plugins:list:plugins
Lists the Flex Plugins on the account.
USAGE
$ twilio flex:plugins:list:plugins
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/list/plugins.js
twilio flex:plugins:list:releases
Lists the Flex Releases on the account.
USAGE
$ twilio flex:plugins:list:releases
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/list/releases.js
twilio flex:plugins:release
Creates a Flex Plugin Release. Enables the plugins (passed as params or via the Flex Configuration) on your Flex application.
USAGE
$ twilio flex:plugins:release
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--configuration-sid=configuration-sid The Flex Plugin Configuration SID to release; other options are not required
when using this option.
--description=description [default: The description of this Flex Plugin Configuration.] The description
of this Flex Plugin Configuration.
--disable-plugin=disable-plugin The plugin to disable, formatted as pluginName. Use additional --disable-plugin
to provide other plugins to disable.
--enable-plugin=enable-plugin The plugin to enable, formatted as pluginName@version. You may use
pluginName@latest as a shortcut for enabling the latest version of the plugin.
Use additional --enable-plugin to provide other plugins to enable.
--json Outputs the result of the command as json string.
--name=name [default: Autogenerated Release 1731571532702] The friendly name of the Flex
Plugin Configuration.
--new Creates a new Flex Plugin Configuration, otherwise will append to existing
active Configuration.
--plugin=plugin Alias for --enable-plugin.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/release.js
twilio flex:plugins:start
Starts a dev-server to build the Flex plugin locally.
USAGE
$ twilio flex:plugins:start
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--include-remote Use this flag to include all remote plugins in your build.
--json Outputs the result of the command as json string.
--name=name The name of the plugin you would like to run. You can provide multiple to run them
all concurrently. You can include specific active remote plugins using "--name
'plugin-name@remote'" or "--name 'plugin-name@0.0.0'" for a specific remote version.
--port=port [default: 3000] The port to start your local development server on.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/start.js
twilio flex:plugins:test
Runs the test suite. This command needs to be invoked inside a plugin directory.
USAGE
$ twilio flex:plugins:test
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--json Outputs the result of the command as json string.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/test.js
twilio flex:plugins:upgrade-plugin
Upgrades your plugin to use the latest version of the Plugin CLI.
USAGE
$ twilio flex:plugins:upgrade-plugin
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--beta If set, will upgrade to the latest beta version.
--clear-terminal Clears the terminal before running the command.
--dev If set, will upgrade to the latest dev version.
--flex-ui-2.0 Update your plugin dependencies to be compatible with Flex UI 2.0.
--install If set, will install the dependencies.
--json Outputs the result of the command as json string.
--nightly If set, will upgrade to the latest nightly version.
--remove-legacy-plugin Deletes legacy plugin bundle hosted on Twilio Assets (deployed via plugin builder
v3).
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
--yarn Use yarn for installation.
--yes If set, will answer yes to all prompts.
See code: dist/commands/flex/plugins/upgrade-plugin.js
twilio flex:plugins:validate
Validates the Flex plugin by looking for any issues that could potentially break the plugin when in use. Generates a report with the identified issues, if any.
USAGE
$ twilio flex:plugins:validate
OPTIONS
-l=(debug|info|warn|error|none) [default: info] Level of logging messages.
-o=(columns|json|tsv|none) [default: columns] Format of command output.
-p, --profile=profile Shorthand identifier for your profile.
--clear-terminal Clears the terminal before running the command.
--flex-ui-2.0 Validates the Flex plugin for compatibility with the latest Flex UI 2.x version.
--json Outputs the result of the command as json string.
--silent Suppress output and logs. This is a shorthand for "-l none -o none".
See code: dist/commands/flex/plugins/validate.js