Skip to content

alexalexandrescu/avro-tools

Repository files navigation

Avro Tools CLI

Description

Avro Tools CLI is a command-line interface for validating and converting Avro schemas. Built with Node.js and Yargs, it offers a basic yet opinionated way to manage Avro schema files.

Features

  • Validate Avro schemas.
  • Convert Avro files (feature under development).
  • Simple and opinionated configuration.

Installation

npm install avro-tools-cli

Usage

To use the CLI, run the following commands:

Validate Schemas

Validate all schemas are AVRO specification compliant in the schemas directory:

avro-tools validate --config your-config.json

Convert Files (Coming Soon)

avro-tools convert [options]

Help

To get more information about the commands:

avro-tools --help

Config

Specify a custom configuration file:

avro-tools --config path/to/config.json

Version

Check the version of the CLI tool:

avro-tools --version

Configuration

Create an avroConfig.json file:

{
"include": ["schemas/**/*.avsc"],
"exclude": ["schemas/excluded/**/*.avsc"]
}

Requirements

  • Node.js version 14 or higher is required for this tool, as it relies on ECMAScript Modules (ESM) which have stable support from version 14 onwards.

Testing

The test suite for Avro Tools CLI is currently a work in progress. We use Jest for our testing framework, but please note that Jest's support for ECMAScript Modules (ESM) is still experimental. As a result, some tests may not yet achieve full coverage or may exhibit unexpected behavior. We are actively working to improve the test suite as the tooling evolves.

For the latest information on Jest's ESM support, see their official documentation.

Local Setup

git clone [repository-url]
cd avro-tools-cli
npm install

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published