UNPKG

lorem-ipsum

Version:

Generates lorem ipsum placeholder text for Node.js, Deno, browsers, and React Native. Developed with Bun.

195 lines (140 loc) 4.97 kB
# lorem-ipsum Generate words, sentences, and paragraphs of lorem ipsum placeholder text. Version 3 supports modern JavaScript runtimes, including Node.js, Bun, Deno, modern browsers, and React Native. It has no runtime dependencies and ships ESM, CommonJS, a browser build, CLI, and TypeScript declaration files. ## Version Notes This README is for version 3. Version 3 is tested with Node.js 22+, Bun 1.3+, and Deno 2+. ## What's New in Version 3 Version 3 keeps the public API compatible with version 2 while modernizing the package around current JavaScript runtimes. - No runtime or development package dependencies. - Vanilla JavaScript source with hand-written TypeScript declarations. - ESM and CommonJS builds for package consumers. - Browser builds for UNPKG and jsDelivr. - Bun-powered local development, testing, building, and publishing. The new v3 package is small: - ESM: 5.4 kB raw, 1.7 kB gzip - CommonJS: 6.7 kB raw, 2.2 kB gzip - Browser: 5.9 kB raw, 1.8 kB gzip - Browser minified: 3.2 kB raw, 1.4 kB gzip - npm package: about 8.6 kB packed For older documentation: - Version 2: see the `2-stable` branch - Version 1: see the `1-stable` branch If you need compatibility with older versions of Node.js, use `lorem-ipsum@2`, which supports Node.js 8 and later. For truly ancient runtimes, `lorem-ipsum@1.0.6` supports Node.js as far back as 0.4. ## Installation ```sh npm i lorem-ipsum bun add lorem-ipsum deno install npm:lorem-ipsum ``` ## Note for Deno Users Deno users can import the package from npm with an `npm:` specifier. ```js import { loremIpsum } from "npm:lorem-ipsum"; console.log(loremIpsum({ count: 2, units: "sentences" })); ``` The library API works in Deno. The CLI can also run under Deno, though commands that read package metadata or copy to the clipboard may need Deno permissions. ## Note for Browser Users Browsers can load the package directly from UNPKG. ```html <script src="https://unpkg.com/lorem-ipsum@3"></script> <script> console.log(LoremIpsum.loremIpsum({ count: 2, units: "sentences" })); </script> ``` The default UNPKG entry is minified. You can also request the browser builds explicitly: ```html <script src="https://unpkg.com/lorem-ipsum@3/dist/index.browser.js"></script> <script src="https://unpkg.com/lorem-ipsum@3/dist/index.browser.min.js"></script> ``` ## Using the Class The class is the recommended API when you want to reuse the same generation options. ```js import { LoremIpsum } from "lorem-ipsum"; // const { LoremIpsum } = require("lorem-ipsum"); const lorem = new LoremIpsum({ sentencesPerParagraph: { max: 8, min: 4, }, wordsPerSentence: { max: 16, min: 4, }, }); lorem.generateWords(1); lorem.generateSentences(5); lorem.generateParagraphs(7); ``` ## Using the Function `loremIpsum()` is a compatibility API for users who prefer the original function-style interface. ```js import { loremIpsum } from "lorem-ipsum"; // const { loremIpsum } = require("lorem-ipsum"); loremIpsum(); // Generates one sentence. ``` You can pass options to customize the output. ```js import { loremIpsum } from "lorem-ipsum"; loremIpsum({ count: 1, // Number of words, sentences, or paragraphs. format: "plain", // "plain" or "html". paragraphLowerBound: 3, // Minimum sentences per paragraph. paragraphUpperBound: 7, // Maximum sentences per paragraph. random: Math.random, // PRNG function. sentenceLowerBound: 5, // Minimum words per sentence. sentenceUpperBound: 15, // Maximum words per sentence. suffix: "\n", // Line ending for paragraphs. units: "sentences", // "words", "sentences", or "paragraphs". words: ["ad", "..."], // Word list to draw from. }); ``` ## Using the CLI Install globally with npm or Bun to use the `lorem-ipsum` command. ```sh npm i -g lorem-ipsum bun add --global lorem-ipsum deno install --global --allow-read --allow-run -n lorem-ipsum npm:lorem-ipsum ``` If you install with Bun, make sure Bun's global bin directory is on your `PATH`. You can find it with `bun pm bin -g`. If you install with Deno, make sure Deno's global bin directory is on your `PATH`. Deno installs global commands under `$HOME/.deno/bin` by default. Use `--force` to replace an existing Deno install. ```sh lorem-ipsum --version lorem-ipsum --help lorem-ipsum 1 word lorem-ipsum 2 words lorem-ipsum 1 sentence lorem-ipsum 2 sentences lorem-ipsum 1 paragraph lorem-ipsum 2 paragraphs lorem-ipsum 2 paragraphs --format html lorem-ipsum 2 paragraphs --copy lorem-ipsum 2 paragraphs --format html --copy ``` On Linux, the `--copy` option requires `xclip`. ## Development This project uses Bun for local development, testing, building, and publishing. Bun is not required to use the package at runtime. ```sh bun test bun run dev bun run build bun publish ``` ## License MIT License Copyright (c) 2012-2026 Nickolas Kenyeres <dev@kenyeres.ca> See [LICENSE](LICENSE).