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

server-name-gen

v1.0.2

Published

Generate a random, ~ unique, heroku/gcp-like name for your project, server etc. e.g. "fragile-sack"

Downloads

17

Readme

Server Name Gen

Generate quirky names like hilarious-curve, daily-sunny-stone, sparkling-edge-108 to use wherever you need a random but memorable name.

Useful for object names, temp folders, passwords, project names, unique ids etc

This is TypeScript rewrite of now deprecated project-name-generator library, with some improvements (no external lib dependencies, additional options)

Install

npm

npm install server-name-gen --save

bun

bun add server-name-gen

Quick Start

import generate from 'server-name-gen';

generate().dashed; // "interesting-umbrella"

generate().spaced; // "maniacal dinosaurs"

generate().raw; // ["tricky", "cactus"]

generate({ number: true }).dashed; // 'composed-invention-4796'

generate({ words: 4 }).raw; // ["gorgeous", "productive", "plum", "friend"]

generate({ words: 4, number: true }).dashed; // 'domineering-tall-slim-rock-507'

generate({ words: 2, alliterative: true }).spaced; // 'major metal'

generate({ firstLetter: 'a' }).spaced; // 'average fox'

generate({ firstLetter: 'a', alliterative: true }).spaced; // 'amazing apple'

Quickstart CLI

This package contains a simple cli. You can pull in the package globally using npm npm install -g server-name-gen

Call from your command line

$ server-name-gen
{
  raw: [ "heavy", "rainstorm" ],
  dashed: "heavy-rainstorm",
  spaced: "heavy rainstorm",
}

For CLI options

server-name-gen -h

Usage: server-name-gen [options]


Options:

  -w, --words [num]         number of words [2]
  -n, --numbers             suffix with a random number
  -a, --alliterative        use alliterative
  -f, --format [format]     output format type [raw|dashed|spaced]
  -l, --first-letter [s]    first letter of the first word [single letter]
  -b, --blocklist [words]   comma separated list of words to exclude
  -h, --help                output usage information

API

The module returns a single function, generate(options)

Calling generate() with no arguments will return an object:

{
    raw: [ "marked", "north" ],
    dashed: "marked-north",
    spaced: "marked north",
}

The options argument object can have properties

  • words (number) - Number of words generated (excluding number). All words will be adjectives, except the last one which will be a noun. Defaults to 2.
  • number (boolean) - Whether a numeric suffix is generated or not. The number is between 1 - 9999, both inclusive. Defaults to false.
  • alliterative (boolean) - Whether to output words beginning with the same letter or not. Defaults to false.
  • firstLetter (string) - First letter of the first word. Defaults to a random letter.
  • blocklist (string[]) - Array of words to exclude from the generated name. Defaults to [].

generate({ words: 3 }) will return:

{
    raw: [ "smart", "abrupt", "weather" ],
    dashed: "smart-abrupt-weather",
    spaced: "smart abrupt weather",
}

generate({ words: 5, number: true }) will return:

{
    raw: [ "fabulous", "potent", "demonic", "confused", "gate", 4955 ],
    dashed: "fabulous-potent-demonic-confused-gate-4955",
    spaced: "fabulous potent demonic confused gate 4955",
}

generate({ words: 2, number: false, alliterative: true }) will return:

{
    raw: [ "somber", "snails" ],
    dashed: "somber-snails",
    spaced: "somber snails",
}

Tests

To run tests locally:

bun install

bun test