JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 16
  • Score
    100M100P100Q48943F
  • License MIT

🎑 (Library) an Javascript library that provide various utilities, including Image manipulation tools, Discord-related utilities, and a logger.

Package Exports

  • kiutils
  • kiutils/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (kiutils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

🎑 kiutils

A powerful JavaScript/TypeScript utility library for image manipulation, Discord utilities, and more!

npm version npm downloads License

✨ Features

  • 🖼️ Image Manipulation - Convert, resize, and create thumbnails with ease
  • 🤖 Discord Utilities - Create beautiful rank cards and other Discord-related graphics
  • 📝 Code Sharing - Share code snippets via SourceBin
  • 🌸 Anime Images - Fetch waifu images with a simple API
  • 🧰 Utility Functions - Various helper functions for common tasks

📦 Installation

# Using npm
npm install kiutils

# Using yarn
yarn add kiutils

# Using pnpm
pnpm add kiutils

🚀 Quick Start

// Import the modules you need
const { Canvas, Discord, waifu, convertImage, ImageFormat } = require('kiutils');
// OR with ES modules
import { Canvas, Discord, waifu, convertImage, ImageFormat } from 'kiutils';

📚 Usage Examples

Image Conversion

import { convertImage, ImageFormat } from 'kiutils';
import * as fs from 'fs';

// Convert an image to WebP format
const convertToWebP = async () => {
  const buffer = await convertImage('input.jpg', ImageFormat.WEBP, {
    quality: 80,
    width: 800
  });
  
  fs.writeFileSync('output.webp', buffer);
  console.log('Image converted successfully!');
};

convertToWebP();

Creating Discord Rank Cards

import { Discord } from 'kiutils';
import * as fs from 'fs';

const createRankCard = async () => {
  const rankCard = await new Discord().createRankCard({
    username: { name: 'CoolUser#1234' },
    level: { data: 15, display: true },
    rank: { data: 12, display: true },
    currentXP: { data: 500 },
    requiredXP: { data: 1000 },
    avatar: { source: 'https://i.imgur.com/example.png' },
    status: { type: 'online' },
    progressBar: {
      bar: {
        type: 'gradient',
        color: ['#5865F2', '#EB459E']
      }
    }
  });
  
  fs.writeFileSync('rank-card.png', rankCard);
  console.log('Rank card created!');
};

createRankCard();

Fetching Waifu Images

import { waifu, WaifuType } from 'kiutils';

const getWaifuImage = async () => {
  const imageUrl = await waifu(WaifuType.SFW);
  console.log(`Waifu image URL: ${imageUrl}`);
};

getWaifuImage();

Simple Canvas Creation

import { Canvas } from 'kiutils';
import * as fs from 'fs';

const createCanvas = async () => {
  const canvas = new Canvas({
    width: 800,
    height: 400,
    background: {
      color: '#5865F2',
      image: 'color'
    },
    fontColor: '#FFFFFF'
  });
  
  const buffer = await canvas.renderWithText('Hello World!', {
    font: '40px Arial',
    align: 'center'
  });
  
  fs.writeFileSync('canvas.png', buffer);
  console.log('Canvas created!');
};

createCanvas();

Sharing Code on SourceBin

import { bin } from 'kiutils';

const shareCode = async () => {
  const code = `
function helloWorld() {
  console.log('Hello from kiutils!');
}

helloWorld();
  `;
  
  const url = await bin(code);
  console.log(`Code shared at: ${url}`);
};

shareCode();

📋 API Documentation

For complete API documentation, please visit our documentation website.

🤝 Contributing

Contributions, issues and feature requests are welcome! Feel free to check the issues page.

📝 License

This project is MIT licensed.