1.2.4 • Published 2 months ago

@onlang-org/onst v1.2.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@onlang-org/onst (onst)

fetch JSON schema from onst GitHub repository or SchemaStore. THe package exposes helper functions and also can be installed globally to be used via its interactive CLI built using inquirer

codeQL npm version npm downloads license forks

The package uses onst-schemastore to simplify fetching and categorising SchemaStore catalog into topics and download in bulk. (eg. download all schemata for AWS in one go). Read more about it here. It leverages the GitHub Octokit API for working with schema files hosted on onst github repository.

onst provides a convenient CLI interface designed using inquirer. You can fetch schema files, show the schema list, and generate example ONL (ONLang) files from the schema.

This project lives with on-lang

Table of Contents

Prerequisites

Before using the package, ensure you have the following set up:

Installation

Install the package using npm:

npm install -g @onlang-org/onst

Usage

Show Help

onst help

This command shows help information about the available commands and their usage.

Show Version

onst version

This command displays the version of the ONLang CLI.

Fetch Schema Files

onst fetch [-s]
-s, --schemastore: Use Schemastore.org (default is false).

This command fetches schema files from the onst GitHub repository for ONLang.

Show Schema List

onst show [-s]
-s, --schemastore: Use Schemastore.org (default is false).

This command shows the list of schemata available in the onst GitHub repository for ONLang.

Generate Example ONL

onst example [-s] [-w] [-r] [-e] [-f <file>] [-d <destination>]

-s, --schemastore: Use Schemastore.org (default is false).
-w, --write: write the generated ONL files.
-r, --random: Use fake values for optional properties.
-e, --example: Use example values for required properties.
-f, --file <path>: Specify the file name for the generated ONL file.
-d, --destination <path>: Specify the destination path where the generated ONL will be saved.

This command generates ONL files from the schema.

Examples

onst example -w -r -f example.onl -d ./output

This example generates an ONL file, uses random values for optional properties, writes the file with the name example.onl, and stores it in the ./output directory.

Current Available Schemas

Architecture

GitHub Interaction: Utilizes the GitHub API through the Octokit library for fetching repository content.

User Interaction: Employs the Inquirer library for interactive command-line prompts.

File Operations: Utilizes Node.js File System (fs) for reading, saving, and searching files.

Configuration: Relies on environment variables for GitHub credentials and repository details.

Example Generation: Generates example ONL files based on the schema and uses json-schema-faker and then transpiles it into ONL using json-to-pretty-yaml

Extending onst

onst by default gets the schema list from the onst GitHub repository. To fetch schema files from a different repository, usethe env variables GITHUB_OWNER, GITHUB_PATH and GITHUB_REPO.

  • GITHUB_OWNER: The username of the repository to fetch schema files from.
  • GITHUB_REPO: The name of the repository to fetch schema files from.
  • GITHUB_PATH: The path within the repository to fetch schema files from.

Examples

Contributing

See CONTRIBUTING.md for details on how to contribute.

Code of Conduct

See CODE_OF_CONDUCT.md for details on the code of conduct.

License

See LICENSE.md for details on the license.

1.2.4

2 months ago

1.2.3

2 months ago

1.2.2

2 months ago

1.2.1

2 months ago

1.2.0

2 months ago

1.1.3

2 months ago

1.0.3

2 months ago

1.0.2

2 months ago

1.0.1

2 months ago

1.0.0

2 months ago

0.0.1

2 months ago