## Synopsis
`ceylon run-js [--cacherep=<url>] [--compile[=<flags>]] [--cwd=<dir>] [--debug=<debug>] [--maven-overrides=<file>] [--no-default-repositories] [--node-exe=<node-exe>] [--offline] [--overrides=<file>] [--rep=<url>...] [--run=<toplevel>] [--sysrep=<url>] [--timeout=<seconds>] [--verbose[=<flags>]] [--] [<module>]`

## Description
Executes the ceylon program specified as the `module` argument. The `module` may optionally include a version.

## Options
`--cacherep=url` | Specifies the folder to use for caching downloaded modules. (default: `~/.ceylon/cache`)
`--compile[=flags]` | Determines if and how compilation should be handled. Allowed flags include: `never`, `once`, `force`, `check`.
`--cwd=dir` | Specifies the current working directory for this tool. (default: the directory where the tool is run from)
`--debug=debug` | Shows more detailed output in case of errors.
`--maven-overrides=file` | Specifies the XML file to use to load Maven artifact overrides. See http://ceylon-lang.org/documentation/current/reference/repository/maven/ for information. Deprecated: use --overrides.
`--no-default-repositories` | Indicates that the default repositories should not be used.
`--node-exe=node-exe` | The path to the Node.js executable. Will be searched in standard locations if not specified.
`--offline`, `-L` | Enables offline mode that will prevent connections to remote repositories.
`--overrides=file` | Specifies the XML file to use to load module overrides. See http://ceylon-lang.org/documentation/current/reference/repository/maven/ for information. Experimental.
`--rep=url` | Specifies a module repository containing dependencies. Can be specified multiple times. (default: `modules`, `~/.ceylon/repo`, `https://modules.ceylon-lang.org/repo/1`)
`--run=toplevel` | Specifies the fully qualified name of a toplevel method or class to run. The indicated declaration must be shared by the `module` and have no parameters. The format is: `qualified.package.name::classOrMethodName` with `::` acting as separator between the package name and the toplevel class or method name. (default: `module.name::run`)
`--sysrep=url` | Specifies the system repository containing essential modules. (default: `$CEYLON_HOME/repo`)
`--timeout=seconds`, `-T seconds` | Sets the timeout for connections to remote repositories, use 0 for no timeout (default: 20).
`--verbose[=flags]`, `-d` | Produce verbose output. If no `flags` are given then be verbose about everything, otherwise just be verbose about the flags which are present. Allowed flags include: `all`, `loader`.

## Compile flags
The `--compile` option can take the following flags: never - Never perform any compilation once - Only compile when the compiled module is not available check - Compile when the sources are newer than the compiled module force - Always compile If the flag is given without an argument it's the same as specifying `check`. If no flag is given at all it's the same as specifying `never`.

## Configuration file
The run-js tool accepts the following option from the Ceylon configuration file: `runtool.compile` (the equivalent option on the command line always has precedence).

## EXAMPLE
The following would execute the `com.example.foobar` module:
    ceylon run-js com.example.foobar/1.0.0