js_of_ocaml - Js_of_ocaml compiler
Js_of_ocaml is a compiler from OCaml bytecode to Javascript. It
makes it possible to run pure OCaml programs in JavaScript environments like
web browsers and Node.js.
- --export=VAL
- File containing the list of unit to export in a toplevel, with Dynlink or
with --linkall. If absent, all units will be exported.
- --nocmis, --no-cmis
- Do not include cmis when compiling toplevel.
- --toplevel
- Compile a toplevel and embed necessary cmis (unless '--no-cmis' is
provided). Exported compilation units can be configured with '--export'.
Note you you'll also need to link against js_of_ocaml-toplevel.
- --extern-fs
- Configure pseudo-filesystem to allow registering files from outside.
(default)
- --file=FILE
- Register [FILE] to the pseudo filesystem.
- -I DIR
- Add [DIR] to the list of include directories.
- --no-extern-fs
- Configure pseudo-filesystem to NOT allow registering files from
outside.
- --ofs=FILE
- Output the filesystem to [FILE].
- JS_FILES
- Link JavaScript files [JS_FILES]. One can refer to path relative to
Findlib packages with the syntax '+pkg_name/file.js'
- PROGRAM
(required)
- Compile the bytecode program [PROGRAM]. Use '-' to read from the
standard input instead.
- --custom-header=VAL
- Provide a custom header for the generated JavaScript file, useful for
making the script an executable file with #!/usr/bin/env node
- --debug=SECTION
- enable debug [SECTION].
- --debuginfo, --debug-info
- Output debug information.
- --disable=OPT
- Disable optimization [OPT].
- --dynlink
- Enable dynlink of bytecode files. Use this if you want to be able to use
the Dynlink module. Note that you'll also need to link with
'js_of_ocaml-compiler.dynlink'.
- --enable=OPT
- Enable optimization [OPT].
- --keep-unit-names
- Keep unit name
- --linkall
- Link all primitives and compilation units. Exported compilation units can
be configured with '--export'.
- --no-sourcemap, --no-source-map
- Don't generate source map. All other source map related flags will be be
ignored.
- --noinline, --no-inline
- Disable inlining.
- --noruntime, --no-runtime
- Do not include the standard runtime.
- -o FILE
- Set output file name to [FILE].
- --opt=NUM
- Set optimization profile : [NUM].
- --pretty
- Pretty print the output.
- -q, --quiet
- suppress non-error messages.
- --runtime-only
- [DEPRECATED: use js_of_ocaml build-runtime instead]. Generate a JavaScript
file containing/exporting the runtime only.
- --set=PARAM=VALUE
- Set compiler options.
- --setenv=PARAM=VALUE
- Set environment variable statically.
- --source-map-inline
- Inline sourcemap in the generated JavaScript.
- --source-map-no-source
- Do not inline sources in source map.
- --source-map-root=VAL
- root dir for source map.
- --sourcemap, --source-map
- Generate source map.
- --target-env={isomorphic,browser,nodejs}
(absent=isomorphic)
- Runtime compile target.
- --Werror
- turn all warnings into errors.
- --wrap-with-fun=VAL (absent=<Immediately Invoked
Function Expression>)
- Wrap the generated JavaScript code inside a function that needs to be
applied with the global object.
- --help[=FMT] (default=auto)
- Show this help in format FMT. The value FMT must be one of
auto, pager, groff or plain. With auto,
the format is pager or plain whenever the TERM env
var is dumb or undefined.
- --version
- Show version information.
js_of_ocaml exits with:
- 0
- on success.
- 123
- on indiscriminate errors reported on standard error.
- 124
- on command line parsing errors.
- 125
- on unexpected internal errors (bugs).
Bugs are tracked on github at
https://github.com/ocsigen/js_of_ocaml/issues.
Jerome Vouillon, Hugo Heuzard.
Copyright (C) 2010-2020.
js_of_ocaml is free software, you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, with linking exception; either
version 2.1 of the License, or (at your option) any later version.