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

crdtoapi

v0.0.19

Published

CustomResourceDefinitions to OpensAPI

Downloads

1,421

Readme

npm version

crdtoapi: From CustomResourceDefinitions to TypeScript API

Welcome to crdtoapi - a powerful suite of tools designed to effortlessly convert OpenAPI and kubernetes CustomResourceDefinitions (CRDs) into TypeScript interfaces and constants. Streamline your development process by automating the generation of TypeScript definitions directly from CRD files, saving time and minimizing potential errors.

Overview

The evolution of applications and services in the Kubernetes ecosystem has resulted in the need for precise and consistent TypeScript typings. With crdtoapi, developers can ensure type accuracy without the repetitive task of manual definition writing. Dive into our tools to understand how you can benefit from them.

Tools Included:

  1. crdtoapi
    Description: Generate OpenAPI definition files directly from Kubernetes CustomResourceDefinitions.
    Learn more

  2. crdtomodel
    Description: Craft TypeScript constants seamlessly from Kubernetes CustomResourceDefinitions.
    Learn more

  3. crdtotypes
    Description: Transform OpenAPI definitions into robust TypeScript interfaces.
    Learn more

Key Features:

  • Automated TypeScript Definition Generation: Eliminate manual errors and save time by automating the conversion process.
  • Compatibility with OpenAPI & Kubernetes: Designed specifically for OpenAPI and Kubernetes CRD structures.
  • Easy Integration: Integrate with existing projects or use as a standalone tool for TypeScript development in Kubernetes environments.

Getting Started:

Whether you're a seasoned Kubernetes pro or just venturing into the world of OpenAPI, crdtoapi is tailored to offer an intuitive and developer-friendly experience. To make the most of our tools, we recommend starting with the individual README files for each tool. These documents will guide you through setup instructions, usage guidelines, and practical examples.

Installation

You can easily install crdtoapi globally using npm:

npm install --location=global crdtoapi

Note: The --location=global flag ensures that you install the package globally, making the tools accessible from anywhere in your terminal.

Building from Source

If you wish to contribute or build the project from source, follow these steps to lint, build, and publish the package:

  1. Clone the repository and navigate to its directory.
  2. Install the required dependencies:
npm install
  1. Lint and fix any potential issues:
npm run lint:fix
  1. Build the package:
npm run build
  1. Finally, if you have the necessary permissions, publish the package:
npm publish