Wondering what’s next for npm?Check out our public roadmap! »

    flex-plugin
    TypeScript icon, indicating that this package has built-in type declarations

    4.0.1 • Public • Published

    Version Downloads License

    Flex Plugin

    Library to help building Twilio Flex Plugins.

    Installation

    npm install flex-plugin

    Usage

    import { loadPlugin, FlexPlugin } from 'flex-plugin';
    
    class MyPlugin extends FlexPlugin {
      pluginName = 'MyPlugin';
    
      init(flex, manager) {
        // set up your flex
        flex.TaskCanvas.Content.add(<p>Hello</p>);
      }
    }
    
    loadPlugin(MyPlugin);

    Visit Twilio Docs for a tutorial on creating your first plugin.

    Libraries

    Loading External JS/CSS Files

    To load external JS/CSS files into your plugin, we provide two helper methods: loadJS and loadCSS. Use them by calling these methods at the start of plugin initialization.

    import { FlexPlugin, loadJS, loadCSS } from 'flex-plugin';
    
    class MyPlugin extends FlexPlugin {
      pluginName = 'MyPlugin';
    
      init(flex, manager) {
        loadJS('http://mysite.com/files/flex.js');
        loadCSS(
          'http://mysite.com/files/flex.css',
          'http://mysite.com/files/flex-2.css',
        );
    
        // set up everything else
      }
    }

    The CSS/JS files must be accessible by Twilio's proxy servers. Local files on your desktop are likely inaccessible via these methods, but your stylesheet may be uploaded to Twilio Assets for use here.

    External Dependencies

    The following NPM packages are defined as external dependencies:

    react
    react-dom
    redux
    react-redux
    

    When you build your plugin, these dependencies will not be included in your bundle. Instead, Flex UI will provide them as global for your plugin to use.

    To ensure you are using the same version that Flex UI is exposing, leave the version of the React that is specified in your package.json. See React Versions to see the currently supported version.

    React Versions

    We currently support the following versions:

    react          16.5.2
    react-dom      16.5.2
    redux          3.7.2
    react-redux    5.1.0
    

    Contributing

    Make sure to follow the instructions in the main repository to set up the project.

    # Install dependencies and link local packages with each other
    cd packages/flex-plugin-scripts
    npx lerna bootstrap
    
    # Run tests
    npm test
    
    # To use your local package in a different project
    npm link
    # then in a different project
    npm link flex-plugin-scripts

    Contributors

    Thank you to all the lovely contributors to this project. Please check the main repository to see all contributors.

    License

    MIT

    Install

    npm i flex-plugin

    DownloadsWeekly Downloads

    2,803

    Version

    4.0.1

    License

    MIT

    Unpacked Size

    15.8 kB

    Total Files

    21

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar