Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
wordwrapjs
Advanced tools
The wordwrapjs package is a utility for wrapping words into a specified width. It's useful for formatting text output in command-line applications or anywhere where you need to control the flow of text to fit within certain boundaries.
Hard Wrapping
Hard wrapping ensures that the text is wrapped strictly at the specified width, even if it means breaking words apart.
const wordwrap = require('wordwrapjs');
let wrappedText = wordwrap.wrap('Some long text that needs to be wrapped', {width: 20});
console.log(wrappedText);
Soft Wrapping
Soft wrapping wraps text at the specified width but without breaking words. It moves the whole word to the next line if it doesn't fit.
const wordwrap = require('wordwrapjs');
let wrappedText = wordwrap.wrap('Some long text that needs to be wrapped', {width: 20, break: false});
console.log(wrappedText);
Custom Break Character
This feature allows specifying a custom break character for wrapping, which can be useful for adding hyphens or other characters when a word is split.
const wordwrap = require('wordwrapjs');
let wrappedText = wordwrap.wrap('Some long text that needs to be wrapped', {width: 20, break: true, cut: true});
console.log(wrappedText);
The 'word-wrap' package provides similar functionality to 'wordwrapjs' with a focus on wrapping plain text with indentation, prefix, and cut options. It's a simple and lightweight solution for text wrapping needs.
The 'wrap-ansi' package is designed to wrap text with ANSI escape codes, which is useful for colored CLI text. It handles wrapping text containing ANSI escape codes without breaking the color sequences.
Word wrapping for plain text.
Wrap some text in a 20 character column.
import wordwrap from 'wordwrapjs'
const text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
const result = wordwrap.wrap(text, { width: 20 })
result
now looks like this:
Lorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod tempor
incididunt ut labore
et dolore magna
aliqua.
Force long words to wrap by setting the break
flag.
Welcome to Node.js v16.6.2.
> wrap = require('wordwrapjs')
> url = 'https://github.com/75lb/wordwrapjs'
> wrap.lines(url, { width: 18 })
[ 'https://github.com/75lb/wordwrapjs' ]
> wrap.lines(url, { width: 18, break: true })
[ 'https://github.com', '/75lb/wordwrapjs' ]
This library is compatible with Node.js, the Web and any style of module loader. It can be loaded anywhere, natively without transpilation.
Node.js:
const wordwrap = require('wordwrapjs')
Within Node.js with ECMAScript Module support enabled:
import wordwrap from 'wordwrapjs'
Within an modern browser ECMAScript Module:
import wordwrap from './node_modules/wordwrapjs/dist/index.mjs'
Old browser (adds window.wordwrapjs
):
<script nomodule src="./node_modules/wordwrapjs/dist/index.js"></script>
boolean
Array.<string>
Object
Param | Type | Description |
---|---|---|
text | string | The input text to wrap. |
[options] | WordwrapOptions |
Kind: static method of Wordwrap
Param | Type | Description |
---|---|---|
text | string | the input text to wrap |
[options] | WordwrapOptions |
Wraps the input text, returning an array of strings (lines).
Kind: static method of Wordwrap
Param | Type | Description |
---|---|---|
text | string | input text |
[options] | WordwrapOptions |
boolean
Returns true if the input text would be wrapped if passed into .wrap()
.
Kind: static method of Wordwrap
Param | Type | Description |
---|---|---|
text | string | input text |
Array.<string>
Splits the input text into an array of words and whitespace.
Kind: static method of Wordwrap
Param | Type | Description |
---|---|---|
text | string | input text |
Object
Wordwrap options.
Kind: inner typedef of Wordwrap
Properties
Name | Type | Default | Description |
---|---|---|---|
[width] | number | 30 | The max column width in characters. |
[break] | boolean | false | If true, words exceeding the specified width will be forcefully broken |
[noTrim] | boolean | false | By default, each line output is trimmed. If noTrim is set, no line-trimming occurs - all whitespace from the input text is left in. |
[eol] | string | "'\n'" | The end of line character to use. Defaults to \n . |
© 2015-21 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.
FAQs
Word-wrapping for javascript.
The npm package wordwrapjs receives a total of 1,862,359 weekly downloads. As such, wordwrapjs popularity was classified as popular.
We found that wordwrapjs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.