Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@repositive/hapi-route-loader

Package Overview
Dependencies
Maintainers
5
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@repositive/hapi-route-loader

Load hapi routes into the hapi router from a folder

  • 0.1.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
5
Weekly downloads
 
Created
Source

@repositive/hapi-route-loader

Load hapi routes into the hapi router from a folder

How to use

First define your routes in any folder you like. Your route module must comply with the route schema definition for the module to be loaded:

export interface RouteConfiguration {
  path: string;
  method: HTTP_METHODS_PARTIAL | '*' | (HTTP_METHODS_PARTIAL | '*')[];
  vhost?: string;
  handler?: string | RouteHandler | RouteHandlerPlugins;
  config?: RouteAdditionalConfigurationOptions | ((server: Server) => RouteAdditionalConfigurationOptions);
}

An example of a route:

/* /src/routes/hello.ts */

export const method = 'get';
export const path = '/';

export function handler(req: any, rep: any) {
  rep('Hello World');
}

Then load your routes with the plugin:

import { Server } from 'hapi';
import { promisify } from 'bluebird';
import routeLoader from '@repositive/hapi-route-loader';


async function startApi() {
  const server = new Server();
  const register: any = promisify(server.register, {context: server});
  const start: any = promisify(server.start, {context: server});
  
  server.connection({
    port: 3000
  });
  
  await register({
    register: routeLoader,
    options: {
      /**
       *  match needs to point to the compiled js files that you want to load.
       */
      match: `dist/routes/**/*.js`
    }
  });
  
  await start();

  console.log('API initialized');
}

Notes

The repository has git hooks on precommit and prepush. You need to pass the linting criteria before commit and the test and coverage criteria before push. The test requirements are 80% overall.

Keywords

FAQs

Package last updated on 13 Jul 2017

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc