
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
Airlane is the fast and confortable development environments with Node.js and Express. From micro service to more big services.
npm install airlane -g
cd some/path
airlane init app # Your application name
cd app
airlane serve
Airlane generates those files.

Default router supports below. It's simple RESTful.
When you add new routes like /users, you should enter command below.
$ airlane generate route users
Airlane generates those files.
$ tree .
.
├── routes
│ ├── users
│ │ ├── controller.js
│ │ ├── index.js
│ │ ├── public
│ │ │ ├── app.css
│ │ │ └── app.js
│ │ └── views
│ │ ├── edit.jade
│ │ ├── index.jade
│ │ └── new.jade

Each route has own View, Routing and Controller inside routes directory. After generating, you have those routes.
Airlane has no module generator yet. You can make files like this.
modules/
└── db
├── index.js
└── user.js
Airlane read every modules under modules directory. Each module has sub directory like db and there is index.js. Airlane import index.js.
index.js
let fs = require('fs');
let target_dir = fs.realpathSync('./');
module.exports = (options) => {
let models = {};
fs.readdir(`${target_dir}/modules/db`, (error, files) => {
files.forEach((file, i) => {
if (file.match(/^\./)) {
return;
}
if (file === 'index.js')
return;
if (!file.match(/.*\.js$/))
return;
file = file.replace(/\.js$/g, "");
models[file.capitalize()] = require(`./${file}`)(options)
})
});
return models;
}
user.js:
// var sequelize = require('../../libs/database');
var crypto = require("crypto");
module.exports = (options) => {
var database = options.database;
var Sequelize = database.Sequelize;
var db = database.database;
var User = db.define('users', {
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true
},
name: {
type: Sequelize.STRING
},
:
}, {
freezeTableName: true
});
User.role = 'User';
return User;
}
Airlane supports Sequelize for O/R mapping. And you can use modules in router like this.
router.get('/new', (req, res, next) => {
console.log(req.app.airlane.modules); // All modules
console.log(req.app.airlane.modules.find('User')); // Get user module. You decide it with module's role like User.role = 'User';
controller.new(req, res, next);
});
MIT License
FAQs
airlane is micro service framework with express.
We found that airlane 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.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.