npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@onlang-org/onst

v1.2.4

Published

Helper repository for on-lang. Provides sample schema and example objects from onst GitHub repository or Schemastore

Downloads

49

Readme

@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:

  • Node.js 14+ or higher [https://nodejs.org/en/]
  • npm

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.