InferJS-Compiler: Overview
A compiler that processes JSDoc comments into an InferObject file, for utilizing with the
InferJS-Library. The InferJS-Compiler is part of a bigger project called InferJS. The compiler can
be used for other third party projects, that may need to interpret JSDoc comments into JSON type files.
Built With
InferJS-Compiler: Installation
To install the latest version v of InferJS-Compiler locally with npm
Install: Locally
npm install inferjs-compiler --save
Install: Globally
npm install -g inferjs-compiler
Optional: If you would like to download the repo source code with git:
git clone https://github.com/Codevendor/inferjs-compiler.git
InferJS-Compiler: CLI Usage
To use the InferJS-Compiler from the command line and create InferObject files, please use the following commands.
# Global: CLI Run Format - InferJS-Compiler Globally Installed:
inferjs-compiler <cmd> <input> <inputOptions> <outputOptions> -o <output>
# or
# Local: CLI Node Run Format - InferJS-Compiler Not Globally Installed
node <path/to/inferjs-compiler> <cmd> <input> <inputOptions> <outputOptions> -o <output>
InferJS-Compiler: parse-files
Action |
Cmd |
Description |
parse-files |
-f |
Parses single or multiple JavaScript files and directories, looking for JSDoc multi-line comments.
Parses the JSDoc comments into an InferObject, that can be outputed to the terminal
or specified output file. |
Example - Parse Single Input File to Terminal Output:
foo@console:~$: inferjs-compiler -f ./path/test1.js -o
Example - Parse Single Input File to Output File:
foo@console:~$: inferjs-compiler -f ./path/test1.js -o ./path/infer-object.js
Example - Parse Multiple Input Files to Terminal Output:
foo@console:~$: inferjs-compiler -f ./path/test1.js ./path/test2.js -o
Example - Parse Multiple Input Files to Output File:
foo@console:~$: inferjs-compiler -f ./test1.js ./test2.js -o ./path/infer-object.js
InferJS-Compiler: parse-file-list
Action |
Cmd |
Description |
parse-file-list |
-l |
Parses a delimited file with JavaScript file and directory paths, looking for JSDoc multi-line
comments per file. Parses the JSDoc comments into an InferObject, that can be outputed
to the terminal or specified output file. Delimiter Defaults: to newline character. |
Example - Parse File List to Terminal Output:
foo@console:~$: inferjs-compiler -l ./path/file-list.txt -o
Example - Parse File List to Output File:
foo@console:~$: inferjs-compiler -l ./path/file-list.txt -o ./path/infer-object.js
InferJS-Compiler: combine
Action |
Cmd |
Description |
combine |
-c |
Combines multiple InferObject files together, outputed to the terminal or specified output file. |
Example - Combine Multiple InferObject Files to Terminal Output:
foo@console:~$: inferjs-compiler -f ./path/infer-object1.js ./path/infer-object2.js -o
Example - Combine Multiple InferObject Files to Output File:
foo@console:~$: inferjs-compiler -f ./path/infer-object1.js ./path/infer-object2.js -o ./path/new-infer-object.js
InferJS-Compiler: OPTIONS
Option |
Cmd |
Description |
--help |
-h |
Displays the help menu. |
--preview |
-p |
Displays information about the files to be processed, without actually executing process. |
--quiet |
-q |
Hide all display information from standard output. |
--stat |
-s |
Displays statistics about total infers parsed from files or directories. |
--version |
-v |
Displays the version number of the InferJS-Compiler. |
InferJS-Compiler: INPUT-OPTIONS
Option |
Description |
--input-options-flags |
The file input flags for reading file. Flags: (r, r+,
rs, rs+, w+,
wx+, a+, ax+) |
--input-options-encoding |
The encoding type for the input files. Example: UTF8. |
--input-options-recursive |
Used in combination with -d, to recursively navigate through sub directories, looking for files to parse. |
--input-options-file-extensions |
Used in combination with -d, to allow only specific file extensions to be parsed from directories. |
--input-options-delimiter |
Used in combination with -l, to specify the delimiter for parsing the file list with. Defaults to newline character. |
InferJS-Compiler: OUPUT-OPTIONS
Option |
Description |
--output-options-env |
The environment variable for the output file. (development,
dev, production, prod)
Defaults to production. |
--output-options-flags |
The file output flags for writing file. Flags: (r+, rs+,
w, wx, w+, wx+,
a, ax, a+, ax+) |
--output-options-module |
Generates the output InferObject, in a specific module type format. Formats:
(esmodule, commonjs, script,
json). Defaults to script. |
InferJS-Compiler: NodeJS Read/Write Flags
Flag |
Description |
r |
Open file for reading. An exception occurs if the file does not exist. |
r+ |
Open file for reading and writing. An exception occurs if the file does not exist. |
rs |
Open file for reading in synchronous mode. |
rs+ |
Open file for reading and writing, asking the OS to open it synchronously. See notes for rs about using this with caution. |
w |
Open file for writing. The file is created (if it does not exist) or truncated (if it exists). |
wx |
Like w but fails if the path exists. |
w+ |
Open file for reading and writing. The file is created (if it does not exist) or truncated (if it exists). |
wx+ |
Like w+ but fails if path exists. |
a |
Open file for appending. The file is created if it does not exist. |
ax |
Like a but fails if the path exists. |
a+ |
Open file for reading and appending. The file is created if it does not exist. |
ax+ |
Like a+ but fails if the the path exists. |
For more examples, please refer to the Documentation