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

balukajs

v1.4.1

Published

Baluka (pronounce _balooka_) is a tiny library that takes your json file and gives you back a jsdoc types or typescript interfaces definition.

Downloads

25

Readme

balukajs

Baluka (pronounce balooka) is a tiny library that takes your json file and gives you back a jsdoc types or typescript interfaces definition.

Am I the only one who are tired to manually update my ts interfaces or jsdoc when my json data evolve ?

That's why I wanted to dedicate this task to an automated process.

Installation

Just simply:

bun add balukajs

or

npm install balukajs

or

pnpm add balukajs

or

yarn add balukajs

And that's it ! You ready to use baluka.

Usage

The only command to use for running baluka is blk.

With that, we have 5 arguments as follows:

  • Input (-i or --input): A mandatory argument whose value is the json file. Ex: -i input.json. Be aware that baluka checks if the file is json and will throw error otherwise :)

  • Output (-o or --output): An optional argument whose value is the file which will contains jsdoc types or typescript interfaces. If not passed, baluka will print output in your console / terminal. Ex: -o output.js or --output types.ts.

  • Name (--name): An optional argument whose value is the name of the main type of your type definition. Ex: --name IExample.

  • Format (--format): An optional argument which is the format of the output type definition. Only 2 values: jsdoc and ts. Ex: --format ts. By default, if --format is not passed, jsdoc will be applied.

  • Watch (--watch): An optional but absolutely necessary argument. With no value to pass, this argument triggers watch mode, and re-execute baluka when input file changed.

We also have --help / -h, which prints available arguments.

Roadmap

The essential works have been done. By automated a type definition conversion from a json file to jsdoc or typescript, you can safely and peacefully updated your json as much as you want.

What coming soon is json schema as new format value. Don't hesitate to discuss with me if it's relevant.

Use Cases

Check examples to see some practical examples of baluka usage

And you ? What will you achieve with baluka ? Let me know ;)

Baluka is a lingala word meaning to turn around.

baluka_meaning