
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
dataloader-sequelize
Advanced tools
Batching, caching and simplification of Sequelize with facebook/dataloader
dataloader-sequelize is designed to provide per-request caching/batching for sequelize lookups, most likely in a graphql environment
createContext(sequelize, object options)
sequelize
a sequelize instanceoptions.max=500
the maximum number of simultaneous dataloaders to store in memory. The loaders are stored in an LRU cacheimport {createContext, EXPECTED_OPTIONS_KEY} from 'dataloader-sequelize';
/* Per request */
const context = createContext(sequelize); // must not be called before all models and associations are defined
await User.findById(2, {[EXPECTED_OPTIONS_KEY]: context});
await User.findById(2, {[EXPECTED_OPTIONS_KEY]: context}); // Cached or batched, depending on timing
Commonly you might have some sort of custom findAll requests that isn't going through the dataloader. To reuse the results from a call such as this in later findById calls you need to prime the cache:
import {createContext, EXPECTED_OPTIONS_KEY} from 'dataloader-sequelize';
const context = createContext(sequelize);
const results = await User.findAll({where: {/* super complicated */}});
context.prime(results);
await User.findById(2, {[EXPECTED_OPTIONS_KEY]: context}); // Cached, if was in results
FAQs
Batching and simplification of Sequelize with facebook/dataloader
The npm package dataloader-sequelize receives a total of 4,257 weekly downloads. As such, dataloader-sequelize popularity was classified as popular.
We found that dataloader-sequelize demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.