Security News
Cloudflare Adds Security.txt Setup Wizard
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
@ifaxity/koa-render
Advanced tools
Minimal dependencies & code is cut down to not take so much space. Because node_modules hell is something i want to avoid. This module was for private purposes but making it public wont do any harm.
Minimal dependencies & code is cut down to not take so much space. Because node_modules hell is something i want to avoid. This module was for private purposes but making it public wont do any harm.
Code heavily based on the koa-views package
npm install @ifaxity/koa-render --save
or if you use yarn
yarn add @ifaxity/koa-render
To use the module just require it like this
const jwt = require('@ifaxity/jwt');
And then you need to add it to your koa server like this:
const render = require('@ifaxity/koa-render');
// or whatever folder you use for your views
app.use(render(__dirname + '/views'), {
ext: 'pug',
globals: {
title: 'Default title',
}
});
// Example route
app.use(async ctx => {
// Render state object
ctx.state = {
title: 'Index page title',
};
await ctx.render('index', {
foo: 'bar',
});
});
// You can also switch between .pug and .html files like this
// As the option 'ext' only specifies the default extension
app.use(async ctx => {
await ctx.render('index.html');
});
So the precedence of those local variables are like this.
locals <-- ctx.state <-- globals
The globals are the variables supplied first when constructing the module.
While locals are the ones supplied as second parameter in ctx.render.
Consider this example:
const render = require('@ifaxity/koa-render');
// or whatever folder you use for your views
app.use(render(__dirname + '/views'), {
globals: {
title: 'Default title',
secret: 'shh secret',
}
});
// Example route
app.use(async ctx => {
// Render state object
ctx.state = {
title: 'Index page title',
hello: 'Hello world!',
};
await ctx.render('index', {
hello: 'Hello universe!',
production: false,
});
});
So then when the ctx.render function runs the variables will finally be:
{
title: 'Index page title',
secret: 'shh secret',
hello: 'Hello universe!',
production: false,
}
To use the module just require it like this
const render = require('@ifaxity/koa-render');
Then you need to add it as a middleware before your routes in your koa app.
render(root [, opts])
root {String}
- The path to the view files root directory
opts {Object}
- Optional options
opts.ext {String}
- Extension to use. html, pug & jade is supported. Defaults to pugopts.globals {Object}
- Global variables for the render functionWhen using .html files the variables get ignored because it just render the html file directly, great when you have static html files and dynamic content with pug. So options are not needed when you render a html file.
FAQs
Minimal dependencies & code is cut down to not take so much space. Because node_modules hell is something i want to avoid. This module was for private purposes but making it public wont do any harm.
We found that @ifaxity/koa-render 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
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.
Security News
ENISA’s 2024 report highlights the EU’s top cybersecurity threats, including rising DDoS attacks, ransomware, supply chain vulnerabilities, and weaponized AI.