{"id":19439354,"url":"https://github.com/codevendor/inferjs-compiler","last_synced_at":"2026-04-29T09:35:26.904Z","repository":{"id":74373169,"uuid":"600838946","full_name":"Codevendor/inferjs-compiler","owner":"Codevendor","description":"A compiler that processes JSDoc comments into an InferObject File for utilizing with the InferJS Library.","archived":false,"fork":false,"pushed_at":"2023-03-19T00:05:01.000Z","size":873,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T08:39:54.063Z","etag":null,"topics":["cli","command-line","command-line-tool","commonjs","compiler","es6","esmodule","infer","infer-object","inferjs","inferjs-compiler","inferjscompiler","inferobject","javascript","js","jsdoc","module","node","type","typechecking"],"latest_commit_sha":null,"homepage":"https://inferjs.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Codevendor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-12T18:46:36.000Z","updated_at":"2023-03-24T05:41:19.000Z","dependencies_parsed_at":"2024-11-10T15:27:58.364Z","dependency_job_id":null,"html_url":"https://github.com/Codevendor/inferjs-compiler","commit_stats":{"total_commits":49,"total_committers":1,"mean_commits":49.0,"dds":0.0,"last_synced_commit":"6af96c1d2ebcdefbc615e673d0af598352f4c7e2"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codevendor%2Finferjs-compiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codevendor%2Finferjs-compiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codevendor%2Finferjs-compiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codevendor%2Finferjs-compiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Codevendor","download_url":"https://codeload.github.com/Codevendor/inferjs-compiler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240619852,"owners_count":19830276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line","command-line-tool","commonjs","compiler","es6","esmodule","infer","infer-object","inferjs","inferjs-compiler","inferjscompiler","inferobject","javascript","js","jsdoc","module","node","type","typechecking"],"created_at":"2024-11-10T15:22:41.273Z","updated_at":"2026-04-29T09:35:26.866Z","avatar_url":"https://github.com/Codevendor.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[inferjs]: https://github.com/Codevendor/inferjs\n[inferjs-library]: https://github.com/Codevendor/inferjs-library\n[inferjs-compiler]: https://github.com/Codevendor/inferjs-compiler\n[infer-object]: https://github.com/Codevendor/inferjs-library\n[logo]: https://github.com/Codevendor/inferjs-compiler/blob/main/assets/images/inferjs-logo.png?raw=true\n[header]: https://github.com/Codevendor/inferjs-compiler/blob/main/assets/images/git_header.png?raw=true\n[arrow]: https://github.com/Codevendor/inferjs-compiler/blob/main/assets/images/arrowright.png?raw=true\n[library-docs]: https://github.com/Codevendor/inferjs-library/\n[library-issues]: https://github.com/Codevendor/inferjs-library/issues\n[compiler-docs]: https://github.com/Codevendor/inferjs-compiler/\n[compiler-issues]: https://github.com/Codevendor/inferjs-compiler/issues\n\n![InferJS Library][header]\n\n## ![Heading][arrow]\u0026nbsp;\u0026nbsp;InferJS-Compiler: Overview\n\nA compiler that processes **JSDoc** comments into an [**InferObject**][infer-object] file, for utilizing with the [**InferJS-Library**][inferjs-library]. The [**InferJS-Compiler**][inferjs-compiler] is part of a bigger project called [**InferJS**][inferjs]. The compiler can be used for other third party projects, that may need to interpret **JSDoc** comments into **JSON** type files.\n\n### Built With\n* [JSDoc Version 3+](https://jsdoc.app/)\n* [Node.js Version 12+](https://nodejs.org/)\n* [NPM Version 5+](https://www.npmjs.com/)\n* [Visual Studio Code](https://code.visualstudio.com/)\n\n## ![Heading][arrow]\u0026nbsp;\u0026nbsp;InferJS-Compiler: Installation\n\nTo install the latest version of [**InferJS-Compiler**][inferjs-compiler] locally with `npm`:\n#### Install: [Locally]()\n```sh\nnpm install inferjs-compiler --save\n```\n\n#### Install: [Globally]()\n```sh\nnpm install -g inferjs-compiler \n```\n\n**Optional**: If you would like to download the repo source code with `git`:\n```sh\ngit clone https://github.com/Codevendor/inferjs-compiler.git\n```\n\n\n\n\n\n## ![Heading][arrow]\u0026nbsp;\u0026nbsp;InferJS-Compiler: CLI Usage\n\nTo use the [**InferJS-Compiler**][inferjs-compiler] from the command line and create [**InferObjects**][infer-object], please use the following commands.\n```sh\n# Global: CLI Run Format - InferJS-Compiler Globally Installed: \ninferjs-compiler \u003ccmd\u003e \u003cinput\u003e \u003cinputOptions\u003e \u003coutputOptions\u003e -o \u003coutput\u003e\n\n# or\n\n# Local: CLI Node Run Format - InferJS-Compiler Not Globally Installed\nnode \u003cpath/to/inferjs-compiler\u003e \u003ccmd\u003e \u003cinput\u003e \u003cinputOptions\u003e \u003coutputOptions\u003e -o \u003coutput\u003e\n```\n\n### InferJS-Compiler: [parse-files]()\n\n| Action\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;|Cmd| Description |\n| :-- | :--: | :-- |               \n| [parse-files]()        | [-f]()          | Parses single or multiple **JavaScript** files or directories, looking for **JSDoc** multi-line comments. Parses the **JSDoc** comments into an [**InferObject**][infer-object], that can be outputed to the terminal or specified **output** file. |\n\n#### Example - Parse Single Input File to Terminal Output:\n```sh\nfoo@console:~$: inferjs-compiler -f ./path/test1.js -o  \n```\n\n#### Example - Parse Single Input File to Output File:\n```sh\nfoo@console:~$: inferjs-compiler -f ./path/test1.js -o ./path/infer-object.js\n```\n\n#### Example - Parse Multiple Input Files to Terminal Output:\n```sh\nfoo@console:~$: inferjs-compiler -f ./path/test1.js ./path/test2.js -o \n```\n\n#### Example - Parse Multiple Input Files to Output File:\n```sh\nfoo@console:~$: inferjs-compiler -f ./test1.js ./test2.js -o ./path/infer-object.js \n```\n\n### InferJS-Compiler: [parse-file-list]()\n\n| Action\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;|Cmd| Description |\n| :-- | :--: | :-- |               \n| [parse-file-list]()        | [-l]()          | Parses a delimited file with **JavaScript** file or directory paths, looking for **JSDoc** multi-line comments per file. Parses the **JSDoc** comments into an [**InferObject**][infer-object], that can be outputed to the terminal or specified **output** file. Delimiter Defaults: to `newline` character. |\n\n#### Example - Parse File List to Terminal Output:\n```sh\nfoo@console:~$: inferjs-compiler -l ./path/file-list.txt -o  \n```\n\n#### Example - Parse File List to Output File:\n```sh\nfoo@console:~$: inferjs-compiler -l ./path/file-list.txt -o ./path/infer-object.js\n```\n\n### InferJS-Compiler: [combine]()\n\n| Action\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;|Cmd| Description |\n| :-- | :--: | :-- |               \n| [combine]()        | [-c]()          | Combines multiple [**InferObject**][infer-object] files together, outputed to the terminal or specified output file.  |\n\n#### Example - Combine Multiple InferObject Files to Terminal Output:\n```sh\nfoo@console:~$: inferjs-compiler -f ./path/infer-object1.js ./path/infer-object2.js -o \n```\n\n#### Example - Combine Multiple InferObject Files to Output File:\n```sh\nfoo@console:~$: inferjs-compiler -f ./path/infer-object1.js ./path/infer-object2.js -o ./path/new-infer-object.js \n```\n\n\n\n\n### InferJS-Compiler: [Options]()\n| Option\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; | Cmd | Description |\n| :-- | :--: | :-- |\n| [--help]() | [-h]() |  Displays the help menu. |\n| [--preview]() | [-p]() | Displays information about the files to be processed, without actually executing process. |\n| [--quiet]() | [-q]() | Hide all display information from standard output. |\n| [--stat]() | [-s]() | Displays statistics about total infers parsed from files or directories. |\n| [--version]() | [-v]() | Displays the version number of the [**InferJS-Compiler**][inferjs-compiler]. |\n\n### InferJS-Compiler: [INPUT-OPTIONS]()\n| Option\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; | Description |\n| :-- | :-- |\n| [--input-options-flags]() | The file input flags for reading file. Flags: (`r`, `r+`, `rs`, `rs+`, `w+`, `wx+`, `a+`, `ax+`) |\n| [--input-options-encoding]() | The encoding type for the input files. Example: `UTF8`. |\n| [--input-options-recursive]() | Used in combination with [-d](), to recursively navigate through sub directories, looking for files to parse. |\n| [--input-options-file-extensions]() | Used in combination with [-d](), to allow only specific file extensions to be parsed from directories. |\n| [--input-options-delimiter]() | Used in combination with [-l](), to specify the delimiter for parsing the file list with. Defaults to `newline` character. |\n\n### InferJS-Compiler: [OUPUT-OPTIONS]()\n| Option\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; | Description |\n| :-- | :-- |\n| [--output-options-env]() | The environment variable for the output file. (`development`, `dev`, `production`, `prod`) Defaults to `production`. |  \n| [--output-options-flags]() | The file output flags for writing file. Flags: (`r+`, `rs+`, `w`, `wx`, `w+`, `wx+`, `a`, `ax`, `a+`, `ax+`) |\n| [--output-options-module]() | Generates the output [**InferObject**][infer-object], in a specific module type format. Formats: (`esmodule`, `commonjs`, `script`, `json`). Defaults to `script`. |\n\n### InferJS-Compiler: [NodeJS Read/Write Flags]()\n| Flag\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;| Description |\n|:-- | :-- |\n| [r]() | Open file for `reading`. An exception occurs if the file does not exist. |\n| [r+]() | Open file for `reading` and `writing`. An `exception` occurs if the file does not exist. |\n| [rs]() | Open file for `reading` in `synchronous` mode. |\n| [rs+]() | Open file for `reading` and `writing`, asking the OS to open it `synchronously`. See notes for `rs` about using this with caution. |\n| [w]() | Open file for `writing`. The file is created (if it does not exist) or truncated (if it exists). |\n| [wx]() | Like `w` but fails if the path exists. |\n| [w+]() | Open file for `reading` and `writing`. The file is created (if it does not exist) or truncated (if it exists). |\n| [wx+]() | Like `w+` but fails if path exists. |\n| [a]() | Open file for `appending`. The file is created if it does not exist. |\n| [ax]() | Like `a` but fails if the path exists. |\n| [a+]() | Open file for `reading` and `appending`. The file is created if it does not exist. |\n| [ax+]() | Like `a+` but fails if the the path exists. |\n\n\n\n\n    \n\n\n    \n        \n\u003c!-- CONTRIBUTING --\u003e\n## ![Heading][arrow]\u0026nbsp;\u0026nbsp;InferJS-Compiler: Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf 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`.\nDon't forget to give the project a [⭐ star](), Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\n\n\n\n\u003c!-- LICENSE --\u003e\n## ![Heading][arrow]\u0026nbsp;\u0026nbsp;InferJS-Compiler: License\n\nDistributed under the **MIT** License. See `LICENSE.txt` for more information.\n\n\n\n\n\n\u003c!-- CONTACT --\u003e\n## ![Heading][arrow]\u0026nbsp;\u0026nbsp;InferJS-Compiler: Support Related\n\n - [**InferJS-Compiler** Documentation][compiler-docs] - Information documentation for the **InferJS-Compiler**.\n - [**InferJS-Compiler** Issues][compiler-issues] - Direct all questions about the **InferJS-Compiler**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodevendor%2Finferjs-compiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodevendor%2Finferjs-compiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodevendor%2Finferjs-compiler/lists"}