
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Antsy is a simple library for letting you write text into a canvas, in up to 256 colors. When you're done, it will generate a list of strings with the ansi codes for your creation.
var antsy = require("antsy");
var canvas = new antsy.Canvas(80, 24);
canvas.at(0, 23).backgroundColor("#00f").write("i am on a blue background!");
// now print it out!
canvas.toStrings().map(console.log);
That's all it does.
All modern terminals support 256-color "xterm" control codes, so antsy uses them. There's an exhaustive explanation of the encoding in the docs/ folder.
Antsy uses an incredibly fast, state-of-the-art plutonic algorithm for determining the closest "xterm" color to a 24-bit web-style color code. You can use it yourself via the exported get_color
function:
var color = antsy.get_color("#ffffff"); // 15
It also understands the three-letter alternate forms ("f00") and a basic set of American color names ("teal", "brown", and so on).
Canvas builds a grid of color and text information. The following API lets you draw into it. Each function returns the Canvas object, so you can chain calls using a builder pattern.
You can set the foreground and/or background color to the special value antsy.TRANSPARENT
, which will leave the previous color(s) alone when you write new text across old content.
new Canvas(width, height)
- Build a new canvas object of the given width and height (in character cells).
color(name)
- Set the current foreground color, by name (using the get_color
function described above).
backgroundColor(name)
- Set the current background color, by name.
at(x, y)
- Move the cursor to the given coordinates, zero-based (x=0, y=0 is the upper left corner).
write(string)
- Write the string as a series of character cells in the current foreground and background colors, starting at the current cursor position. The cursor's x position moves with each character. If it reaches the end of a line, it will wrap around to the beginning of the next line. Similarly, wrapping off the bottom of the canvas will move back to the top.
clear()
- Fill the canvas with spaces using the current background color.
fillBackground(colorName)
- Fill the canvas with spaces, using the given color as the background color. This is just a convenience method for clearing the canvas to a color.
scroll(deltaX, deltaY)
- Scroll the canvas horizontally or vertically (or both). deltaX
is the number of character cells to move left (if positive) or right (if negative). deltaX
is the number of cells to move up (if positive) or down (if negative). A normal one-line vertical terminal scroll would be scroll(0, 1)
.
toStrings()
- Return an array of strings which, if written to an ansi terminal, will draw the canvas. Each string is one line of the canvas, starting at line 0 (the top).
FAQs
draw full-color (xterm-256) ansi graphics into a buffer
The npm package antsy receives a total of 1,622 weekly downloads. As such, antsy popularity was classified as popular.
We found that antsy demonstrated a healthy version release cadence and project activity because the last version was released less than 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
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.