Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
platformatic
Advanced tools
Platformatic is a versatile npm package designed to simplify the development of modern web applications. It provides a suite of tools and features that streamline the process of building, deploying, and managing web services and APIs.
API Development
This feature allows developers to quickly set up and manage API endpoints. The code sample demonstrates how to create a simple server with a single GET endpoint that returns a 'Hello, world!' message.
const { createServer } = require('platformatic');
const server = createServer({
routes: [
{
method: 'GET',
url: '/hello',
handler: async (request, reply) => {
return { message: 'Hello, world!' };
}
}
]
});
server.listen(3000, (err) => {
if (err) {
console.error('Error starting server:', err);
} else {
console.log('Server listening on port 3000');
}
});
Database Integration
Platformatic provides seamless database integration, allowing developers to connect to and query databases easily. The code sample shows how to set up a route that fetches data from a 'users' table in a database.
const { createServer } = require('platformatic');
const { connect } = require('platformatic-db');
const server = createServer({
routes: [
{
method: 'GET',
url: '/users',
handler: async (request, reply) => {
const db = await connect();
const users = await db.query('SELECT * FROM users');
return users;
}
}
]
});
server.listen(3000, (err) => {
if (err) {
console.error('Error starting server:', err);
} else {
console.log('Server listening on port 3000');
}
});
Authentication
Platformatic includes built-in authentication mechanisms to secure endpoints. The code sample demonstrates how to protect a route using an authentication middleware.
const { createServer } = require('platformatic');
const { authenticate } = require('platformatic-auth');
const server = createServer({
routes: [
{
method: 'GET',
url: '/secure',
preHandler: authenticate,
handler: async (request, reply) => {
return { message: 'This is a secure endpoint' };
}
}
]
});
server.listen(3000, (err) => {
if (err) {
console.error('Error starting server:', err);
} else {
console.log('Server listening on port 3000');
}
});
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. Compared to Platformatic, Express is more lightweight and requires additional middleware for features like authentication and database integration.
Hapi is a rich framework for building applications and services. It is known for its powerful plugin system and configuration-based approach. Hapi offers more built-in features compared to Express but may have a steeper learning curve compared to Platformatic.
NestJS is a progressive Node.js framework for building efficient, reliable, and scalable server-side applications. It uses TypeScript by default and is heavily inspired by Angular. NestJS provides a more structured and opinionated approach compared to Platformatic.
Platformatic open-source tools simplify
building and
running Node.js applications, with best practices baked in.
# Create a new application
npm create platformatic@latest
# Or install manually:
npm install platformatic
Follow our Quick Start Guide guide to get up and running with Platformatic.
Check out our full documentation at docs.platformatic.dev.
If you run into a bug, issues or have a suggestion for improvement, please raise an issue on GitHub or join our Discord feedback channel.
FAQs
Platformatic CLI
The npm package platformatic receives a total of 198,556 weekly downloads. As such, platformatic popularity was classified as popular.
We found that platformatic demonstrated a healthy version release cadence and project activity because the last version was released less than 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
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.