
Research
/Security News
Laravel Lang Compromised with RCE Backdoor Across 700+ Versions
Laravel Lang packages were compromised with an RCE backdoor across hundreds of versions, exposing cloud, CI/CD, and developer secrets.
@tranjs/core
Advanced tools
Node.js transaction management framework inspired by Spring's `@Transactional` annotation.
TranJS is a transaction management framework which provides declaretive transaction, without any ORMs.
It is designed to provide reliable and intuitive transaction management for mission-critical safety applications and general-purpose applications.
class MyService {
@Transactional()
async transfer(from: string, to: string, amount: number) {
await this.withdrawMoney("Jaewook", 100);
await this.depositMoney("Chansu", 100);
}
@Transactional(Propagation.MANDATORY)
private async depositMoney(userId: string, amount: number) {
console.log("Execute Query", userId, amount);
await ctx().execute("UPDATE user SET balance = balance + ? WHERE id = ?", [amount, userId]);
}
@Transactional(Propagation.MANDATORY)
private async withdrawMoney(userId: string, amount: number) {
console.log("Execute Query", userId, amount);
await ctx().execute("UPDATE user SET balance = balance - ? WHERE id = ?", [amount, userId]);
}
}
Start Transaction (id: ae8wml5i78rt) # Transaction started at transfer()
Execute Query Jaewook 100
Execute Query Chansu 100
Commit Transaction (id: ae8wml5i78rt) # Transaction committed when transfer() finished
It should be set up for the database you want to use. See here.
[!NOTE] If the driver you want to use does not exist, you can implement it on your own.
TranJS welcomes contributions from the community to enhance its functionality and usability. Here’s how you can contribute:
Report Issues
If you encounter bugs or have suggestions for improvements, feel free to open an issue in the repository.
Submit Pull Requests
Fork the repository, create a new branch for your changes, and submit a pull request. Ensure your code adheres to the project's coding standards and includes relevant tests.
Implement Drivers
If the driver you need is not available, you can implement it yourself using the self-implement guide.
Improve Documentation
Contributions to the documentation are always appreciated—whether it's fixing typos, adding examples, or clarifying complex concepts.
Collaborate and Review
Participate in discussions, review pull requests, and provide constructive feedback to other contributors.
This project is licensed under the LGPL-2.1 License - see the LICENSE file for details.
FAQs
Node.js transaction management framework inspired by Spring's `@Transactional` annotation.
We found that @tranjs/core demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
/Security News
Laravel Lang packages were compromised with an RCE backdoor across hundreds of versions, exposing cloud, CI/CD, and developer secrets.

Security News
Socket found a malicious postinstall hook across 700+ GitHub repos, including PHP packages on Packagist and Node.js project repositories.

Security News
Vibe coding at scale is reshaping how packages are created, contributed, and selected across the software supply chain