npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jsreport-express

v2.8.1

Published

jsreport extension adding API

Downloads

8,206

Readme

jsreport-express

NPM Version Build Status

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.

jsreport-core

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();

Attach to existing express app

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);  

jsreport

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);

Configuration

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