/nuxeo-cli

Nuxeo CLI is a command-line interface for helping developers around Nuxeo ecosystem. It provides project bootstrapping, bundles hot reload,...

Primary LanguageJavaScript

Build Status npm version npm downloads Dependency Status devDependency Status

About

Nuxeo CLI is a command-line interface for helping developers around Nuxeo ecosystem. It provides project bootstrapping, bundles hot reload,...

Overview

Nuxeo CLI includes several commands for working with your Nuxeo Project

  • bootstrap: Bootstrap Nuxeo project, bundles or several components
  • hotreload: Trigger hot reload on your development server
  • update: Keep Nuxeo CLI up to date

Installation

Install via NPM:

npm install -g nuxeo-cli

Then nuxeo executable should be available; ensure you can run:

nuxeo

Usage

nuxeo <command> [options] [args]

Options

  -h, --help     Print Nuxeo CLI version                               [boolean]
  -v, --version  Show version                                          [boolean]
  -n             Quiet - Hide welcome message                          [boolean]

Commands

Sync

Usage

nuxeo sync [--src "<src_folder>"] [--dest "<dest_folder"]

One-way Synchronization files (src folder to dest folder), then watch any changes occured in a child from the source folder to repercute it to the dest folder.

If you start this command inside a nuxeo-cli bootstrap project that has been registered for hotreload (nuxeo hotreload configure), the destination path is computed to the registered distribution.

  --dest         Destination Folder                           [string] [default:
               "/Users/foo/nuxeo-server-tomcat-9.3-SNAPSHOT/nxserver/nuxeo.war"]

If you start command inside a Studio Project clone, the source path is computed to nuxeo.war folder.

  --src          Source Folder         [default: "./studio/resources/nuxeo.war"]

You can watch several source folders:

nuxeo sync --src "<src1_folder>" --src "<src2_folder>" --src "<src3_folder>" --dest "<dest_folder"

You can fine tune which files are tracked, by overriding the pattern option:

nuxeo sync --pattern "*.js"

Options

Options:
  -h, --help     Show help                                             [boolean]
  -v, --version  Show version                                          [boolean]
  -n             Quiet - Hide welcome message                          [boolean]
  --src          Source Folder                     [default: "/tmp/watcher/src"]
  --dest         Destination Folder      [string] [default: "/tmp/watcher/dest"]
  --pattern      Glob matching pattern for synchronizable files
                              [default: "*.+(js|html|jpg|gif|svg|png|json|jsp)"]

Update

nuxeo update

Update internal generator-nuxeo module to gets latest changes without updating nuxeo-cli.

Bootstrap

nuxeo bootstrap [<generator>..] [options]

See: Generator Nuxeo Bootstrap

Bootstrap Script

Script project bootstrap by passing questions' answers as command options.

nuxeo-bootstrap [<generator>..] [options]
Options
Options:
  --dry-run, -n  Don't actually create the file(s), just list parameters,
                 default values and errors.                     [default: false]
  --help         Show help                                             [boolean]
Examples

Dry-run an operation creation to check parameters names and default values:

nuxeo-bootstrap operation -n

Create a single-module plus an operation:

nuxeo-bootstrap single-module operation --package com.sample --operation_name SampleOperation --operation_label="My Sample Operation"

hotreload

nuxeo hotreload [hotreload|configure] [options]

See: Generator Nuxeo Hotreload

Synchronize

nuxeo synchronize [synchronize|configure]

See: Generator Nuxeo Hotreload

studio

nuxeo studio [link|unlink] [options]

Link or Unlink your project to your Studio project to package it easily and be able to test ev erything together.

nuxeo studio import

Import in your project a constant file containing your Studio features in order to reuse them easily in your code.

nuxeo studio export

Export your project's contributions to the Studio registries in order to reuse them in Studio.

Proxy

Proxy configuration rely on the common global-agent module (or global-tunnel-ng before Node 10). Meaning you can use the environment variables HTTP_PROXY and HTTPS_PROXY with value format: http[s]://[username:password@]www.host.com[:1334]

HTTP_PROXY=http://john:doe@fake.proxy:1337 nuxeo b multi-module

Note: You can also exclude some urls to use the proxy by defining the NO_PROXY environment variable with value format: *.toexclude.com

Tester/Developer Environment

Lots of Nuxeo CLI logic is held in generator-nuxeo project. You must link both projects to be able to have live modifications.

npm install -g nuxeo/nuxeo-cli#master

Release

To launch the release, an annotated tag has to be pushed with the following commands:

git tag -a vX.Y.Z -m "Release vX.Y.Z"
git push origin vX.Y.Z

NPM package with the X.Y.Z version will be published to https://packages.nuxeo.com/repository/npm-public/ and https://registry.npmjs.org/ (public access)

Licensing

Apache License, Version 2.0

About Nuxeo

Nuxeo dramatically improves how content-based applications are built, managed and deployed, making customers more agile, innovative and successful. Nuxeo provides a next generation, enterprise ready platform for building traditional and cutting-edge content oriented applications. Combining a powerful application development environment with SaaS-based tools and a modular architecture, the Nuxeo Platform and Products provide clear business value to some of the most recognizable brands including Verizon, Electronic Arts, Sharp, FICO, the U.S. Navy, and Boeing. Nuxeo is headquartered in New York and Paris. More information is available at www.nuxeo.com.