
Research
/Security News
Fake imToken Chrome Extension Steals Seed Phrases via Phishing Redirects
Mixed-script homoglyphs and a lookalike domain mimic imToken’s import flow to capture mnemonics and private keys.
Jade template engine with async/streaming support via promises and generators.
The Jade template engine is a templating engine with a 2 stage process :
localsthen-jade makes sure that the rendering stage of the process (stage 2) becomes asynchronous:
locals and the rendering will be progressive, waiting asynchronously for the resolution of the promisesnpm install then-jade
Before all examples, you will need:
var thenJade = require('then-jade');
Compiles a string containing a jade template into a rendering function.
var fn = thenJade.compile(str, options);
The rendering function can be called as fn(locals, callback) where locals are the user defined variables or generator/promises that can be used in the template. callback is a node-style callback(err, res) that will be called with the rendered template once the rendering is finished or with an error if something went wrong.
For options, see the documentation for compileStreaming
Compiles a string containing a jade template into a rendering function.
var fn = thenJade.compileStreaming(str, options);
The rendering function can be called as fn(locals) where locals are the user defined variables or generator/promises that can be used in the template. The result of calling this function is a ReadableStream that will stream the rendered template.
str of jade.If the function is called with an optional node-style callback, the callback
will be called with the result when the rendering is finished.
Otherwise, the function will return a Promise that will be fulfilled when the rendering is finished.
Options:
filename filename required for include / extendsRender the given str of jade
options:
filename filename required for include / extendsoptions are used as locals at rendering time.
The result is a ReadableStream wrapping the asynchronous rendering of the template. This stream can be piped into a WritableStream.
Render the given path file containing a jade.
The compilation of the file is synchronous and uses an internal in-memory cache
to avoid re-compiling the same file twice.
The rendering is asynchronous.
If the function is called with an optional node-style callback, the callback
will be called with the result when the rendering is finished.
Otherwise, the function will return a Promise that will be fulfilled when the rendering is finished.
options are used as locals at rendering time.
Render the given path file containing a jade.
The compilation of the file is synchronous and uses an internal in-memory cache
to avoid re-compiling the same file twice.
The rendering is asynchronous.
The result is a ReadableStream wrapping the asynchronous rendering of the template. This stream can be piped into a WritableStream.
options are used as locals at rendering time.
MIT
FAQs
Jade with async/streaming support via promises and generators
We found that then-jade demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 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.

Research
/Security News
Mixed-script homoglyphs and a lookalike domain mimic imToken’s import flow to capture mnemonics and private keys.

Security News
Latio’s 2026 report recognizes Socket as a Supply Chain Innovator and highlights our work in 0-day malware detection, SCA, and auto-patching.

Company News
Join Socket for live demos, rooftop happy hours, and one-on-one meetings during BSidesSF and RSA 2026 in San Francisco.