
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
pg-using-bluebird
Advanced tools
Utility library for promisifying node-postgres using Bluebird promises with Bluebird's resource management functionality.
Why use pg-using-bluebird instead of just using node-postgres directly? pg-using-bluebird provides a convenient interface with Bluebird promises and resource cleanup with the using syntax, making DB querying in app code very concise and easy to read.
This project is based on the postgres example in Bluebird's documentation.
npm install pg-using-bluebird
const Promise = require('bluebird'),
pgUsingBluebird = require('pg-using-bluebird'),
db = pgUsingBluebird({dbUrl: "postgres://localhost/pgrm-tests"}),
using = Promise.using
using(db.getConnection(), connection =>
connection.queryAsync("select 1").then(res => {
console.log(res.rows)
})
).finally(() => {
db.end()
})
See connection-test.js for more complete examples. Note that Bluebird's using will handle cleanup of a connection and db.end() needs to be called only when closing the entire pool.
Requiring this module returns a function takes a single parameter
object with at least the URL to the DB ({dbUrl: "myUrl"}
) and initializes a
connection pool with 20 connections. Parameters are passed directly to node-postgres,
refer to node-postgres documentation for
configuration options. See tests for sample usage.
The initializer returns an object with the following functions:
getConnection()
returns a DB connection
getTransaction([tablesToLock])
returns a DB transaction, 1st argument is an optional list of tables to lock
queryAsync(query, [args])
performs a query with the optional argument list inserted into the query. Returns the result object.
queryRowsAsync(query, [args])
performs a query with the optional argument list inserted into the query. Returns the resulting rows.
createMultipleInsertCTE(insert)
creates a common table expression (CTE) for multiple inserts, returns an object
with text
for the query and values
for the arguments.
on(event, fn)
attach and event handler fn to the pool event event, see node-postgres documentation for event types
end()
shut down the connection pool, returns a promise
Both connection and transaction objects have the methods queryAsync(query, [args])
for executing a query and returning the result object and queryRowsAsync(query, [args])
for executing a query and returning the resulting rows. The query can be a string
or a query object, refer to node-postgres' documentation for the various options
for query objects.
FAQs
Helpers for managing PostgreSQL connections
The npm package pg-using-bluebird receives a total of 1,322 weekly downloads. As such, pg-using-bluebird popularity was classified as popular.
We found that pg-using-bluebird demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 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.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.