# GLOSSARY

## complete native application descriptor

A complete native application descriptor is a string with format `[nativeAppName]:[platform]:[version]`

* `nativeAppName` : alphanumeric native application name , cannot contain character ':'
* `platform` : one of `android` or `ios`
* `version` : alphanumeric , cannot contain character ':'

## partial native application descriptor

A partial native application descriptor is a string with format `[nativeAppName]`, `platform` and `version` can remain optional.

* `nativeAppName` : alphanumeric native application name , cannot contain character ':'

## Electrode Native module name

The Electrode Native module name applies to modules created with Electrode Native cli.

* Module names should be alphanumeric and cannot start with a digit or underscore
* `create-miniapp`, `create-api` and `create-api-impl` commands allow passing Electrode Native module name as its arguments.

For example, `ern create-miniapp Mymovie`, `ern create-api ReactNativeMymovie` will create `MymovieMiniApp` and `react-native-mymovie-api` respectively.

## package path

A package path is a string representing the path (local or remote) to a Node Package. In the context of Electrode Native, a few package path formats are supported (as illustrated by the following samples) :

Package in remote git repository:

* `git+ssh://git@github.com:electrode-io/MovieListMiniApp.git`
* `git+ssh://git@github.com:electrode-io/MovieListMiniApp.git#0.0.9`
* `https://github.com/electrode-io/MovieListMiniApp.git`
* `https://github.com/electrode-io/MovieListMiniApp.git#0.0.9`

For GitHub SSH urls it is also possible to use the default GitHub format:

* `git@github.com/electrode-io/MovieListMiniApp.git`
* `git@github.com/electrode-io/MovieListMiniApp.git#0.0.9`

The string following the optional `#` denotes a branch/tag or specific commit SHA.

Package on local file system :

* `file:/Users/blemair/Code/MovieListMiniApp`
* `/Users/blemair/Code/MovieListMiniApp`

Package on npm registry:

* `movielistminiapp`
* `movielistminiapp@0.0.9`
* `@myscope/movielistminiapp@0.0.9`

## Container publishers

The following Container publishers are currently available:

* [git](https://github.com/electrode-io/ern-container-publisher-git)
* [maven](https://github.com/electrode-io/ern-container-publisher-maven)
* [jcenter](https://github.com/electrode-io/ern-container-publisher-jcenter)
* [dummy](https://github.com/electrode-io/ern-container-publisher-dummy)

The README of each of these publishers contain information related to their usage and configuration.
