
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@replit/database
Advanced tools
The Replit Database client is a simple way to use Replit Database in your Node.js repls. The client expects to run within a Replit managed server context. Use this library in servers or other applications that execute on a Replit server, rather than in your user's browser.
Install the TypeScript Library with
npm install @replit/database
This library supports Bun, Deno, and Node.js (Node versions 18+ or any Node version polyfilled with the fetch API).
import Client from "@replit/database";
const client = new Client();
await client.set("key", "value");
let value = await client.get("key");
console.log(value); // { ok: true, value: "value" }
Initiate a new database client:
import Client from "@replit/database";
/**
* Initiates Class.
* @param {String} dbUrl Custom database URL
*/
new Client()
Retrieve a value for a key from the database:
/**
* Gets a key
* @param {String} key Key
* @param {boolean} [options.raw=false] Makes it so that we return the raw string value. Default is false.
* @returns Promise<OkResult<any> | ErrResult<RequestError>>
*/
const value = await client.get(key, /* options?: {raw: boolean} */)
console.log(value)
// { ok: true, value: "value" } | { ok: false, error: RequestError }
Sets a value for a key in the database:
/**
* Sets a key
* @param {String} key Key
* @param {any} value Value
*/
await client.set(key, value)
Deletes a key from the database:
/**
* Deletes a key
* @param {String} key Key
*/
const result = await client.delete(key)
console.log(result.ok) // boolean
Lists all keys starting with the provided prefix:
/**
* List key starting with a prefix if provided. Otherwise list all keys.
* @param {String} prefix The prefix to filter by.
*/
const keys = await client.list("prefix-")
console.log(keys) // { ok: true, value: [...] } | { ok: false, error: RequestError }
Clears the database:
/**
* Clears the database.
* @returns a Promise containing this
*/
await client.empty()
Gets all records in the database:
/**
* Get all key/value pairs and return as an object
* @param {boolean} [options.raw=false] Makes it so that we return the raw
* string value for each key. Default is false.
*/
const records = await client.getAll(/* options?: {raw: boolean} */)
Sets multiple key value pairs:
/**
* Sets multiple keys from an object.
* @param {Object} obj The object.
*/
await client.setMultiple({keyOne: "valueOne", keyTwo: "valueTwo"})
Deletes multiple keys from the database:
/**
* Delete multiple entries by key.
* @param {Array<string>} args Keys
*/
await client.deleteMultiple(['keyOne', 'keyTwo'])
npm i
npm run test
FAQs
Client for Repl.it Database
The npm package @replit/database receives a total of 2,733 weekly downloads. As such, @replit/database popularity was classified as popular.
We found that @replit/database demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 33 open source maintainers 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.