Skip to content

Client tool to Develop, Build, and Package Zimbra X compatible zimlets for development and production.

License

Notifications You must be signed in to change notification settings

Zimbra/zimlet-cli

Repository files navigation

CircleCI NPM Downloads NPM Version

Zimlet CLI

A command-line build tool for next generation Zimlets, powered by Webpack.

Install

npm install -g @zimbra/zimlet-cli

Usage

zimlet

Run the zimlet command by itself to see all available options. ZimletCLI makes it easy to get help with the --help option available for all commands.

Documentation

An extensive getting started guide on how to create Zimlets and Java extensions can be found at:

Zimlet CLI command options can be found in:

⚠️ Make sure to accept any self signed certificates generated by the zimlet watch command.

⚠️ The Zimlet is evaluated in a seperate window with a clean environment. This means common global values like window.location will not be available. Instead, many global values are available in the Redux store.


Hacking on the CLI

Want to work on the CLI? It's easy:

# get into this directory:
cd zimlet-cli

# install the dependencies:
npm install

# now any time you change src/ in the CLI package,
# (re-)link your build of the CLI globally:
npm run build && npm link

Doing the above (and repeating the last step for any change to the CLI's source) will introduce a zimlet command globally.

Custom Configuration

Webpack

To customize webpack create a zimlet.config.js file in the root of your Zimlet which exports a function that will change webpack's config. To use a file other than zimlet.config.js, set a custom path as env.config.

/**
 * Function that mutates original webpack config.
 *
 * @param {object} config - original webpack config.
 * @param {object} env - options passed to CLI.
 **/
export default function (config, env) {
  /** you can change config here **/
}