
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Powerful chaining of pre- and post-processors, with dynamic dependency downloading.
$ npm install pipemaker
var pipemaker = new Pipemaker();
// Simple pipelines (extension, name)
pipemaker.addPipeline("jade");
pipemaker.addPipeline("coffee");
pipemaker.addPipeline("js", "dust");
// Chained pipelines (extension, chain)
pipemaker.addPipeline("css", "css>clean-css");
pipemaker.addPipeline("js", "javascript>uglify-js");
pipemaker.addPipeline("jbs", "jade>handlebars");
function next(err, compiled) { console.log(compiled); }
// Compile
pipemaker.compile("coffee", "console.log 'Hello'", next);
pipemaker.compile("handlebars", "Hello {{ name }}", { name : "Donald" }, next);
pipemaker.compileFile("./path-to/file.coffee", next);
Pipemaker ⇒ Pipemaker
.addPipeline(ext, [chain]) ⇒ function
.compile(ext, str, [options], next)
.compileBlock(lines, lineNo, [options], next)
.compileFile(filename, [options], next)
.compileWildcard(str, [options], next)
.createPipeline(chain) ⇒ function
.getPipeline(chain) ⇒ function
.hasPipeline(ext) ⇒ Boolean
.removePipeline(ext)
PipemakerConstructor for Pipemaker class. Automatically installs packages by default.
Returns: Pipemaker - Instance of class.
| Param | Type | Description |
|---|---|---|
| mappings | Object | Keys correspond to extensions, values to pipeline names. |
| options | Object | Install directory dir, and whether to fetch if missing. |
Example
var pipemaker = new Pipemaker({ dir : process.cwd() });
compiles a string using pipeline associated with ext
| Param | Type | Default | Description |
|---|---|---|---|
| ext | String | The extension associated with string (e.g. "coffee"). | |
| str | String | The string to be compiled. | |
| [options] | Object | {} | Options to be passed to rendering pipeline. |
| next | function | Callback of type fn(err, compiled). |
Example
pipemaker.compile("coffee", "console.log 'Hello'", function(err, compiled) {
console.log(compiled);
// => console.log('Hello');
});
compiles a file using pipeline associated with file's extension
| Param | Type | Default | Description |
|---|---|---|---|
| filename | String | Name of file. | |
| [options] | Object | {} | Options to be passed to rendering pipeline. |
| next | function | Callback of type fn(err, compiled). |
Example
pipemaker.compileFile("app.coffee", function(err, compiled) {
// Compiled version of app.coffee
});
Compiles a wildcard string.
| Param | Type | Default | Description |
|---|---|---|---|
| str | String | The string to be compiled. | |
| [options] | Object | {} | Options to be passed to rendering pipeline. |
| next | function | Callback of type fn(err, compiled). |
Recursively compiles a wildcard block.
| Param | Type | Default | Description |
|---|---|---|---|
| lines | Array | The lines to be compiled | |
| lineNo | Number | The line number to start with | |
| [options] | Object | {} | Options to be passed to rendering pipeline |
| next | function | Callback of type fn(err, compiled, numberOfLinesProcessed) |
functionReturns a compilation function based on input chain.
Returns: function - Compilation function fn(str, options, next).
| Param | Type | Description |
|---|---|---|
| chain | String | String containing names of pipelines to use. |
Example
pipemaker.createPipeline("jade");
pipemaker.createPipeline("jade>handlebars");
pipemaker.createPipeline("js>uglify-js");
functionGets an pipeline based on chain, creating pipeline if necessary.
Returns: function - Compilation function fn(str, options, next).
| Param | Type | Description |
|---|---|---|
| chain | String | Chain of pipelines. |
Example
pipemaker.getPipeline("jade>handlebars");
functionAdds an pipeline for an extension, creating pipeline if necessary.
Returns: function - Compilation function fn(str, options, next).
| Param | Type | Description |
|---|---|---|
| ext | String | File extension to be associated with pipeline. |
| [chain] | String | Optional chain for creating pipeline. |
Removes an pipeline by extension.
| Param | Type | Description |
|---|---|---|
| ext | String | File extension to for removal. |
BooleanDetermines if an pipeline currently exists for an extension.
Returns: Boolean - Whether pipeline exists.
| Param | Type | Description |
|---|---|---|
| ext | String | File extension to check. |
MIT
FAQs
Manages multiple transpilers with chaining
We found that pipemaker 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.