Code Monkey home page Code Monkey logo

Supermodel npm packages CircleCI

Collection of npm packages supporting supermodel.io

Table of Contents

Introduction

TODO

Packages

@supermodel/cli README Version

Main package used for installing system wide binary supermodel for manipulating schemas

@supermodel/lib README Version

Collection of utils on top of json schema. Used in @supermodel/cli and on supermodel.io

@supermodel/file README Version

Utils for manipulating json schema on file system. Used in @supermodel/cli

Contributing

We are using lerna for managing all packages together

Installation

  1. yarn global add [email protected] (npm i -g [email protected]) - to install orchstrating tool lerna

  2. yarn bootstrap - resolves and install root and packages dependencies

    • ⚠️ use this instead of yarn [install]
    • ensures presence of global installation of lerna and install it for you when missing
  3. 🤔 optional When developing against local supermodel.io instance setup .env for CLI. Choose symlink or copy:

    • symlink: ln -s ./packages/cli/.env.development ./packages/cli/.env
    • copy: cp ./packages/cli/.env.development ./packages/cli/.env and change variables for your needs

Usage

  • yarn build:watch
    • should be running while you want to use ./packages/cli/bin/supermodel or supermodel after yarn local:install
  • yarn test:watch - watch tests in all packages at once
  • yarn build - make production builds
  • yarn test - run lint, type checks and run tests in all packages at once
    • yarn test:lint - code linting
    • yarn test:types - type checks
    • yarn test:unit - unit tests

Local linking

To try @supermodel/cli locally with simple supermodel command we need to link all packages. There is shortcut to link all packages

  • yarn local:install
  • yarn local:uninstall

Principes

Every new module which manipulates with schemas (conversion, resolving, transforming etc.) or helps to work with schemas and environment around should be placed inside @supermodel/lib. Exposed modules for outside usage should return a value, or throw an error. Or promise analogy (resolve, reject) for async modules.

TODO

Publishing

lerna publish

  • useses lerna publish
  • It is most streightforward way to publish. It compile typescript with yarn build command, tag changed packages with new versions and publish it to npm

A Good API Project

supermodel.io, and supermodel CLI are Good API non-profit projects, aimed at promoting modern, reusable, and sustainable data modeling.

License

The MIT License (MIT) 2020 Good API

supermodel's Projects

formats icon formats

Repository of popular format schemas

models icon models

Example and testing models <https://supermodel.io/supermodel>

openapi.tools icon openapi.tools

A collection of Editors, Linters, Parsers, Code Generators, Documentation, Testing

starwars icon starwars

Supermodel Demo repository showcasing Star Wars JSON Schema data models and how to convert them into OAS2, GraphQL and Avro

supermodel icon supermodel

Supermodel browser library and CLI tool for working with JSON Schema data models

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.