Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@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
We found that @replit/database demonstrated a healthy version release cadence and project activity because the last version was released less than 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
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.