0.0.9 • Published 1 year ago

inferjs-compiler v0.0.9

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

InferJS Library

Heading  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

Heading  InferJS-Compiler: Installation

To install the latest version 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

Heading  InferJS-Compiler: CLI Usage

To use the InferJS-Compiler from the command line and create InferObjects, 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                   CmdDescription
parse-files-fParses single or multiple JavaScript files or 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                   CmdDescription
parse-file-list-lParses a delimited file with JavaScript file or 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                   CmdDescription
combine-cCombines 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                CmdDescription
--help-hDisplays the help menu.
--preview-pDisplays information about the files to be processed, without actually executing process.
--quiet-qHide all display information from standard output.
--stat-sDisplays statistics about total infers parsed from files or directories.
--version-vDisplays the version number of the InferJS-Compiler.

InferJS-Compiler: INPUT-OPTIONS

Option                                                  Description
--input-options-flagsThe file input flags for reading file. Flags: (r, r+, rs, rs+, w+, wx+, a+, ax+)
--input-options-encodingThe encoding type for the input files. Example: UTF8.
--input-options-recursiveUsed in combination with -d, to recursively navigate through sub directories, looking for files to parse.
--input-options-file-extensionsUsed in combination with -d, to allow only specific file extensions to be parsed from directories.
--input-options-delimiterUsed 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-envThe environment variable for the output file. (development, dev, production, prod) Defaults to production.
--output-options-flagsThe file output flags for writing file. Flags: (r+, rs+, w, wx, w+, wx+, a, ax, a+, ax+)
--output-options-moduleGenerates 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
rOpen 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.
rsOpen 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.
wOpen file for writing. The file is created (if it does not exist) or truncated (if it exists).
wxLike 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.
aOpen file for appending. The file is created if it does not exist.
axLike 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.

Heading  InferJS-Compiler: Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag enhancement. Don't forget to give the project a ⭐ star, Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Heading  InferJS-Compiler: License

Distributed under the MIT License. See LICENSE.txt for more information.

Heading  InferJS-Compiler: Support Related