
Security News
Software Engineering Daily Podcast: Feross on AI, Open Source, and Supply Chain Risk
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.
jsreport-express
Advanced tools
jsreport extension adding API and studio
jsreport-express is the main extension you need when you want to add jsreport studio or API. Many other extensions works in conjunction with jsreport-express and extends studio ui or API. Just to name some of them:
And many others. Where some of them are working also without jsreport-express and some of them doesn't. This extension is designed to be just a wrapper for ui and it doesn't work standalone. The minimal configuration requires at least jsreport-templates to be installed.
The following example shows how to start jsreport studio through express extension.
var jsreport = require('jsreport-core')();
jsreport.use(require('jsreport-templates')());
jsreport.use(require('jsreport-express')({ httpPort: 2000}));
jsreport.init();
jsreport-express by default creates a new express.js application and starts to listen on specified port. In some cases you may rather use your own express.js app and just let jsreport-express to add specific routes to it. This can be done in the following way:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello from the main application');
});
var reportingApp = express();
app.use('/reporting', reportingApp);
var jsreport = require('jsreport-core')();
jsreport.use(require('jsreport-templates')());
jsreport.use(require('jsreport-express')({ app: reportingApp }));
jsreport.init();
app.listen(3000);
You can use the same technique in the full distribution of jsreport or with the auto discovered extensions:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello from the main application');
});
var reportingApp = express();
app.use('/reporting', reportingApp);
var jsreport = require('jsreport')({
extensions: {
express: { app: reportingApp }
}
});
jsreport.init();
app.listen(3000);
jsreport-express uses some options from the global configuration:
httpPort (number) - http port on which is jsreport running, if both httpPort and httpsPort are specified, jsreport will automaticaly create http redirects from http to https, if any of httpPort and httpsPort is specified default process.env.PORT will be used
httpsPort (number) - https port on which jsreport is running
appPath (string) - optionally set application path, if you run application on http://appdomain.com/reporting then set "/reporting" to appPath. The default behavior is that it is assumed that jsreport is running behind a proxy, so you need to do url url rewrite /reporting -> / to make it work correctly, See mountOnAppPath when there is no proxy + url rewrite involved in your setup.
mountOnAppPath (boolean) - use this option along with appPath. it specifies if all jsreport routes should be available with appPath as prefix, therefore making appPath the new root url of application
certificate object - path to key and cert file used by https
FAQs
jsreport extension adding API
The npm package jsreport-express receives a total of 416 weekly downloads. As such, jsreport-express popularity was classified as not popular.
We found that jsreport-express demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.

Security News
GitHub has revoked npm classic tokens for publishing; maintainers must migrate, but OpenJS warns OIDC trusted publishing still has risky gaps for critical projects.

Security News
Rust’s crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.