
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@megaorm/faker
Advanced tools
This package provides a set of methods to generate realistic, randomized data for your database seeding needs.
This package provides a set of methods to generate realistic, randomized data for your database seeding needs. Whether you need user details, location information, or internet-related data, @megaorm/faker has you covered.
To install this package, run the following command:
npm install @megaorm/faker
Import MegaFaker from @megaorm/faker:
const { MegaFaker } = require('@megaorm/faker');
Create an Instance:
const faker = new MegaFaker();
Now you are ready to generate some fake data!
Generate realistic user details:
console.log(faker.firstName()); // e.g., "john"
console.log(faker.lastName()); // e.g., "Doe"
console.log(faker.name()); // e.g., "john Doe"
console.log(faker.email()); // e.g., "johndoe123@example.com"
console.log(faker.gmail()); // e.g., "johndoe123@gmail.com"
console.log(faker.password()); // e.g., "p@ssw0rd123"
console.log(faker.username()); // e.g., "johndoe92"
Generate data for geographic and address fields:
console.log(faker.continent()); // e.g., "Asia"
console.log(faker.country()); // e.g., "Canada"
console.log(faker.city()); // e.g., "San Francisco"
console.log(faker.street()); // e.g., "River Street"
console.log(faker.address()); // e.g., "1234 Maple St, Toronto, Canada"
Generate filler text for your database:
console.log(faker.sentence()); // e.g., "Random sentence."
console.log(faker.paragraph()); // e.g., "Random paragraph."
console.log(faker.text()); // e.g., "Random text."
console.log(faker.lorem()); // e.g., "Random lorem."
Generate data for job-related fields:
console.log(faker.job()); // e.g., "Software Engineer"
console.log(faker.company()); // e.g., "Global Solutions"
Simulate realistic product data:
console.log(faker.product()); // e.g., "Pro Laptop"
console.log(faker.sku()); // e.g., "123-456-789"
console.log(faker.price()); // e.g., 45.67
console.log(faker.category()); // e.g., "Sport" (45 unique categories)
console.log(faker.card('#### #### #### ###')); // e.g., "1234 5678 9012 345"
Generate realistic web-related details:
console.log(faker.path()); // e.g., "blog/introduction"
console.log(faker.domain()); // e.g., "example.com"
console.log(faker.url()); // e.g., "https://shop.net/products/pricing"
console.log(faker.ipv4()); // e.g., "192.168.1.1"
console.log(faker.ipv6()); // e.g., "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
Generate a variety of additional data types:
console.log(faker.boolean()); // e.g., 1 | 0
console.log(faker.date()); // e.g., "2024-11-01"
console.log(faker.time()); // e.g., "14:30:00"
console.log(faker.datetime()); // e.g., "2024-11-01 14:30:00"
console.log(faker.zip()); // e.g., "90210"
console.log(faker.phone('+1 (###) ###-####')); // e.g., "+1 (123) 612-3456"
console.log(faker.id(100)); // e.g., 13 (number between 0 and 100)
The MegaFaker library includes helper functions for custom randomization:
const {
randomBetween, // Generate a random number in a range
randomIndex, // Get a random index from an array
randomSelect, // Select a random item from an array
randomChar, // Generate a random character
} = require('@megaorm/faker');
console.log(randomBetween(0, 10)); // e.g., 3
console.log(randomIndex(['john', 'Doe'])); // e.g., 0
console.log(randomSelect(['john', 'Doe'])); // e.g., 'john'
console.log(randomChar()); // e.g., 'A'
You can create custom faker methods and extend the functionality of MegaFaker. Here’s how you can do it:
Leverage the provided random functions to define your own data generators. For example, create a function to generate random TV shows:
export function tvShow() {
return randomSelect([
'Breaking Bad',
'Friends',
'Game of Thrones',
'Stranger Things',
]);
}
console.log('TV Show:', tvShow()); // e.g., "Friends"
For more advanced use cases, extend the MegaFaker class to incorporate additional functionality directly into the faker instance.
const { MegaFaker } = require('@megaorm/faker');
class BetaFaker extends MegaFaker {
// Generate a random tv show
tvShow() {
return this.random.select([
'The Office',
'Parks and Recreation',
'The Crown',
'Black Mirror',
]);
}
// Generate a random 5 stars rating
rating() {
const left = this.random.between(1, 4); // 4
const right = this.random.between(0, 9); // 5
return Number(`${left}.${right}`); // 4.5
}
}
module.exports = { BetaFaker };
Once extended, you can import your custom faker class, create an instance, and use the enhanced methods in your seeder files:
// Import `BetaFaker`
const { BetaFaker } = require('./BetaFaker');
// Create instance
const faker = new BetaFaker();
console.log(faker.tvShow()); // e.g., "The Crown"
console.log(faker.rating()); // e.g., 4.9
The MegaFaker API is your ultimate tool for generating realistic and diverse mock data. Let your creativity flow and streamline your database seeding!
FAQs
This package provides a set of methods to generate realistic, randomized data for your database seeding needs.
We found that @megaorm/faker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 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
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.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.