Synopsis

ceylon compile-js [--cacherep=<url>] [--compact] [--cwd=<dir>] [--encoding=<encoding>] [--include-dependencies[=<flags>]] [--lexical-scope-style] [--maven-overrides=<file>] [--no-comments] [--no-default-repositories] [--no-indent] [--no-module] [--offline] [--out=<url>] [--overrides=<file>] [--pass=<secret>] [--profile] [--rep=<url>...] [--resource=<dirs>...] [--resource-root=<folder-name>] [--skip-src-archive] [--source=<dirs>...] [--src=<dirs>...] [--suppress-warning[=<warnings>...]] [--sysrep=<url>] [--timeout=<seconds>] [--user=<name>] [--verbose[=<flags>]] [--] [<moduleOrFile...>]

Options

--cacherep=url

Specifies the folder to use for caching downloaded modules. (default: ~/.ceylon/cache)

--compact

Equivalent to --no-indent --no-comments

--cwd=dir

Specifies the current working directory for this tool. (default: the directory where the tool is run from)

--encoding=encoding, -E encoding

Sets the encoding used for reading source files (default: platform-specific)

--include-dependencies[=flags]

Determines if and how compilation of dependencies should be handled. Allowed flags include: never, once, force, check.

--lexical-scope-style

Create lexical scope-style JS code

--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-comments

Do not generate any comments

--no-default-repositories

Indicates that the default repositories should not be used.

--no-indent

Do not indent code (deprecated)

--no-module

Do not wrap generated code as CommonJS module

--offline, -L

Enables offline mode that will prevent connections to remote repositories.

--out=url, -o url

Specifies the output module repository (which must be publishable). (default: ./modules)

--overrides=file, -O file

Specifies the XML file to use to load module overrides. See http://ceylon-lang.org/documentation/current/reference/repository/maven/ for information. Experimental.

--pass=secret

Sets the password for use with an authenticated output repository (no default).

--profile

Time the compilation phases (results are printed to standard error)

--rep=url

Specifies a module repository containing dependencies. Can be specified multiple times. (default: modules, ~/.ceylon/repo, https://modules.ceylon-lang.org/repo/1)

--resource=dirs, -r dirs

Path to directory containing resource files. Can be specified multiple times; you can also specify several paths separated by your operating system's PATH separator. (default: ./resource)

--resource-root=folder-name, -R folder-name

Sets the special resource folder name whose files will end up in the root of the resulting module CAR file (default: ROOT).

--skip-src-archive

Do not generate .src archive - useful when doing joint compilation

--source=dirs

An alias for --src (default: ./source)

--src=dirs, -s dirs

Path to source files. Can be specified multiple times; you can also specify several paths separated by your operating system's PATH separator. (default: ./source)

--suppress-warning[=warnings], -W

Suppress the reporting of the given warnings. If no warnings are given then suppresss the reporting of all warnings, otherwise just suppresss those which are present. Allowed flags include: filenameNonAscii, filenameClaselessCollision, deprecation, compilerAnnotation, doclink, expressionTypeNothing, unusedDeclaration, unusedImport, ceylonNamespace, javaNamespace, suppressedAlready, suppressesNothing.

--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).

--user=name

Sets the user name for use with an authenticated output repository (no default).

--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, ast, code, stitcher.

Compiling dependencies

The --include-dependencies 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 compile tool accepts the following options from the Ceylon configuration file: defaults.offline, defaults.encoding, compiler.source, compiler.resource and repositories (the equivalent options on the command line always have precedence).

Repositories

Repositories like those specified with the --rep or --out options can be file paths, HTTP urls to remote servers or can be names of repositories when prepended with a + symbol. These names refer to repositories defined in the configuration file or can be any of the following predefined names +SYSTEM, +CACHE, +LOCAL, +USER, +REMOTE or +MAVEN. For more information see https://ceylon-lang.org/documentation/1.3/reference/repository/tools