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

spicy-donkey

v1.3.2

Published

Random name generator with extensive adjective & noun dictionaries

Downloads

53

Readme

npm version CI status

Spicy Donkey

A random name generator as seen on Reddit, Heroku, Xbox, etc. This project generates random combinations of adjectives and nouns to create unique and fun names.

Give it a try here

Installation

npm install spicy-donkey

Usage

CommonJS (require)

const { generateRandomCombination } = require('spicy-donkey');

const name = generateRandomCombination('humorous', 'animal');
console.log(name); // Outputs a random combination e.g. "Spicy Donkey"

ES6 Module (import)

import { generateRandomCombination, AdjectiveType, NounType } from 'spicy-donkey';

const name = generateRandomCombination('celestial' as AdjectiveType, 'star' as NounType);
console.log(name);// Outputs a random combination e.g. "Colossal Orion"

Use it in the browser

<script src="https://cdn.jsdelivr.net/npm/spicy-donkey@latest/dist/bundle.js"></script>
    <script>
        async function generateName() {
            ...
            try {
                const result = await SpicyDonkey.generateRandomCombination(adjectiveType, nounType);
                ...
            } catch (error) {
                console.error('Error generating name:', error);
                ...
            }
        }
    </script>
  • Note you'll need to store the nouns & adjectives in a /data folder accessible to your client application.

How It Works

The generator uses predefined lists of adjectives and nouns stored in JSON files. It randomly selects one adjective and one noun to create a combination. The types of adjectives and nouns can be specified to generate different styles of names.

Example output

You can run npm run build && node demo/demo.js to see the random output:

Comical TibetanMastiff
Observant Ford Explorer
Perceptive Dunnart
Bonkers Tesla Model S
Vibrant Homam
Ferocious Genesis GV80
Bursting Echidna
Nincompoopish Achird
Logical 41 Orionis

Building Locally

To build and run the project locally, follow these steps:

  1. Clone the repository:
git clone https://github.com/yourusername/spicy-donkey.git
cd spicy-donkey
  1. Install dependencies
npm install
  1. Build the project&
npm run build
  1. Run the demo script:
node demo/demo.js

Arguments

The main function generateRandomCombination accepts two arguments:

  • adjectiveType: The type of adjective to use. Can be either 'serious', 'humorous', or 'celestial'.
  • nounType: The type of noun to use. Can be either 'car', 'animal', 'star'.

Example usage:

const name = generateRandomCombination('humorous', 'animal');
console.log(name); // Outputs a random combination like "Cheeky Monkey"

Demo Script

The demo script demonstrates how to use the generateRandomCombination function. It generates and prints several random name combinations.

To run the demo script:

  1. Compile the TypeScript files:
npx tsc
  1. Run the demo script:
node demo/demo.js

The demo script will output random name combinations based on different adjective and noun types.

Example output:

console.log(generateRandomCombination('humorous', 'animal'));
console.log(generateRandomCombination('serious', 'car'));
console.log(generateRandomCombination('serious', 'animal'));
console.log(generateRandomCombination('humorous', 'car'));

Adding data

Notice that noun json is all stored in files ending in the plural s. For the time being, be sure that your noun set ends in s.

Building for browser

This projects includes a script to build for the browser

npm build:browser

License

This project is licensed under the MIT License. See the LICENSE file for details.

Author

Abe Flansburg (@aflansburg)