
Research
/Security News
OpenAPI React Query Codegen Compromised in Mini Shai-Hulud npm Supply Chain Attack
Ten malicious OpenAPI React Query Codegen versions were published to npm in the Mini Shai-Hulud attack, all with valid provenance.
@arcjet/sprintf
Advanced tools
@arcjet/sprintfArcjet platform-independent replacement for util.format.
This package is platform-independent in order to support multiple runtimes in varying environments, such as Edge Runtime, Node.js, Bun, Deno, and Cloudflare Workers.
This is an internal utility to help us format log messages.
It’s a fork of pinojs/quick-format-unescaped.
We chose to fork so that we can maintain as much compatibility as possible
while being more restrictive.
You should not use this but use
pinojs/quick-format-unescaped or one of the
alternatives instead.
This package matches our current needs which are likely different from yours.
This package is ESM only. Install with npm in Node.js:
npm install @arcjet/sprintf
import { sprintf } from "@arcjet/sprintf";
console.log(sprintf("Hello %s", "world")); // => "Hello world"
console.log(sprintf("1 %i %d", 2, 3.0)); // => "1 2 3"
This package exports the identifier
sprintf.
The default export is also sprintf.
This package exports no TypeScript types.
sprintf(template, …values)Formats a string by replacing placeholders with the provided values. See Substitutions below for the supported placeholder types.
template (string)
— the format string with placeholdersvalues (Array<unknown>)
— values to interpolate into the templateThe formatted string (string).
Substitutions will be made for the following character sequences if the matching
argument conforms to the type. For example, "%d" will only be replaced by a
number, not a string or object.
Object substitution supports any value that is not undefined.
%d | %f - Replaced if provided with a number.%i - Replaced if provided with a number after Math.floor is called on it.%O | %o | %j - Replaced if provided with any value after
JSON.stringify is called on it. Objects with circular references will be
replaced with [Circular]. Functions will be replaced with the function name
or <anonymous> if unnamed.%s - Replaced if provided with a string.%% - Replaced by the literal % character.Apache License, Version 2.0 © Arcjet Labs, Inc.
Derivative work based on quick-format-unescaped
licensed under MIT © David Mark Clements.
Our work is more restrictive while maintaining as much compatibility as
possible.
FAQs
Arcjet platform-independent replacement for util.format
The npm package @arcjet/sprintf receives a total of 79,380 weekly downloads. As such, @arcjet/sprintf popularity was classified as popular.
We found that @arcjet/sprintf demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.

Research
/Security News
Ten malicious OpenAPI React Query Codegen versions were published to npm in the Mini Shai-Hulud attack, all with valid provenance.

Security News
Socket joins more than 100 technology, cybersecurity, and financial organizations calling for a global surge in cyber defense.

Product
Enterprise security teams can now detect malware, credential theft, suspicious network activity, and risky updates across Microsoft Edge extensions.