JS_OF_OCAML(1) | Js_of_ocaml Manual | JS_OF_OCAML(1) |
NAME¶
js_of_ocaml - Js_of_ocaml compiler
SYNOPSIS¶
js_of_ocaml [COMMAND] …
DESCRIPTION¶
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.
OPTIONS (TOPLEVEL)¶
- --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.
OPTIONS (FILESYSTEM)¶
- --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].
COMMANDS¶
- build-fs [-I DIR] [-o FILE] [OPTION]… [FILES]…
- Js_of_ocaml pseudo filesystem utility
- build-runtime [OPTION]… [JS_FILES]…
- Build standalone runtime. Used for separate compilation.
- check-runtime [--target-env={isomorphic,browser,nodejs}] [OPTION]… [FILES]…
- Check runtime
- compile [OPTION]… [JS_FILES]… PROGRAM
- Js_of_ocaml compiler
- link [OPTION]… [JS_FILES]…
- Js_of_ocaml linker
- print-standard-runtime [OPTION]…
- Print standard runtime to stdout
ARGUMENTS¶
- 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.
OPTIONS¶
- --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].
- --include-runtime
- Include (partial) runtime when compiling cmo and cma files to JavaScript.
- --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.
- --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.
COMMON OPTIONS¶
- --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.
EXIT STATUS¶
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¶
Bugs are tracked on github at https://github.com/ocsigen/js_of_ocaml/issues.
SEE ALSO¶
AUTHORS¶
Jerome Vouillon, Hugo Heuzard.
LICENSE¶
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.
Js_of_ocaml 5.8.2 |