CLI Tool

The UXPin Merge CLI tool analyzes your repository, prepares code for sending to UXPin, allows you to test your components in the Merge Dev Environment (experimental mode) and sends components to your UXPin account. 

To install Merge CLI Tool:

npm i --save-dev @uxpin/merge-cli
yarn add @uxpin/merge-cli

The tool can execute the following options and commands.

Options:

-v, --version – Output the version number.

--webpack-config <path>– Path to a custom webpack config, relative to the current working directory.

--wrapper <path>– Path to a custom component wrapper, relative to the current working directory.

--cwd <path> – Working directory: path to root of the DS repository. Default: ./

--config <path>– Path to a config file. Default: ./uxpin.config.js

--port <number> – Port number on which the local server will listen. Default: 8877

--skip-browser – Don't open browser on start

--disable-tunneling– Disable tunneling requests through ngrok

-h, --help– Output usage information

Commands:

server [options]– Start the local web server and display the list of design system components.

push [options]– Upload design system repository information to UXPin.

dump [options]– Show all information (in JSON) about the design system repository and DON'T send to UXPin.

summary [options]– Show only design system summary without building it.

Requests tunneling

The below error is caused by problems with connecting to the tunneling service when trying to run an experimental mode. If you come across it, try running EM with --disable-tunneling flag.

ERROR: panic: runtime error: invalid memory address or nil pointer dereference

github.com/inconshreveable/olive@v0.0.0-20190306191047-c0e8c527e2ad/recover.go:40

reflect/value.go:447

reflect/value.go:308

...

When you run the experimental mode on your own machine, the CLI tool starts a local web server which receives some requests from the UXPin Editor during the prototyping session. In order to make it work on all browsers and to omit installation of self-signed certificates for localhost on your machine, we need to pass those requests through a secure connection using ngrok.

If your network administrator blocks such connection, the UXPin Editor might not be working correctly. In that case, you should the run experimental mode with --disable-tunneling flag. Thanks to that, when you open the experimental mode, requests will go directly to your localhost web server.

UXPin Editor with `--disable-tunneling` option works only in Chrome