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

trailpack

Package Overview
Dependencies
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

trailpack

Trailpack Interface. Trailpacks extend the functionality of the Trails framework.

  • 1.0.0-beta-3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.1K
increased by6182.35%
Maintainers
1
Weekly downloads
 
Created
Source

trailpack

Gitter NPM version Build status Dependency Status Code Climate

Trailpack Interface. Trailpacks extend the functionality of the Trails framework. (Application functionality should be extended using Microservices).

Usage

This module is a class which should be extended by all trailpacks.

Implement

See archetype/index.js for more details.

const Trailpack = require('trailpack')

class ExampleTrailpack extends Trailpack {
  constructor (app) {
    super(app, {
      config: require('./config'),
      api: require('./api'),
      pkg: require('./package')
    })
  }

  validate () {
    if (!this.app.config.example) throw new Error('config.example not set!')
  }

  configure () {
    this.app.config.example.happy = true
  }

  initialize () {
    setInterval(() => this.log.debug('happy?', this.app.config.example.happy), 1000)
  }
}
Configure

See archetype/config/trailpack.js for more details.

// config/trailpack.js
module.exports = {
  provides: {
    // ...
  },

  lifecycle: {
    // ...
  }
}

Lifecycle

  1. app.start
  2. Validate
  3. Configure
  4. Initialize
  5. app.ready

API

constructor(app, definition)

Instantiate the Trailpack. definition is an object which contains three optional properties: config, api, pkg. Trailpack configuration is merged into the application configuration.

validate()

Validate the preconditions for proper functioning of this trailpack. For example, if this trailpack requires that a database is configured in config/database.js, this method should validate this. This method should incur no side-effects. Do not alter any extant configuration.

configure()

Extend the configuration (config/, or app.config) of the application, or add new configuration objects. This method is run before the application has loaded. You can alter application configuration here.

initialize()

If you need to bind any event listeners, start servers, connect to databases, all of that should be done in initialize. Here, all of the configuration is loaded and finalized.

Contributing

We love contributions! Please see our Contribution Guide for more information.

License

MIT

Keywords

FAQs

Package last updated on 14 Feb 2016

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