Home

Awesome

trailpack-core

Gitter Follow @trailsjs on Twitter

Note: This pack is deprecated as of Trails v2.0.

The functionality in this pack were merged into the Trails core in v2. If this pack is included in your app config, or is relied upon by any trailpack in your application, it simply print a warning and exit. In Trails 3.0 (released in April 2017), this trailpack will be completely removed.


Core Trailpack. This pack is required by all Trails applications, and is reponsible for validating the API definition (the stuff in api/), merging environment-specific configuration, binding context on Controllers, Services, and Policies, and other important and fundamental things.

In particular, this trailpack includes and configures two very important things:

Install

$ npm install --save trailpack-core

Usage

Configuration

The core trailpack should always be loaded in your trailpack config.

// config/main.js
module.exports = {
  // ...
  packs: [
    require('trailpack-core')
  ]
}

Logging

This trailpack exposes the configured logger (in config.log) on the main app object. See archetype/config/log.js for an example configuration.

// api/controllers/ExampleController.js
module.exports = class ExampleController extends Controller {

  /**
   * Logs the querystring
   */
  exampleHandler (req, res) {
    this.log.debug(req.query)
  }
}

Internationalization

This trailpack also exposes the i18next translator function on the main app object as app.__ and app.t. See archetype/config/i18n.js for an example configuration.

// config/locales/en.json
{
  "helloworld": "Hello World"
}
// api/controllers/ExampleController.js
module.exports = class ExampleController extends Controller {

  /**
   * Returns the string "Hello World" if locale is set to "en"
   */
  exampleHandler (req, res) {
    this.app.t('helloworld')
  }
}

Contributing

We love contributions! Please check out our Contributor's Guide for more information on how our projects are organized and how to get started.

License

MIT

<img src="http://i.imgur.com/dCjNisP.png">