JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q81525F
  • License MIT

LoopBack Extended Lib

Package Exports

  • loopback-extended-lib

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (loopback-extended-lib) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Loopback Extended Lib

Build Status Coverage Status

Extend Loopback in random ways, and put everything in a lib.

See the example for a full functioning Loopback project.

What's included

The idea

For a single project, we have:

  • A single lib.
  • A single app, which must be at lib.app, and can be used anywhere (with a lib = require('path/to/lib')).
  • The app has a root directory that never changes, and it can boot() itself.

The "lib"

You usually have a lib directory in your project, with an index.js file in it, which would look like:

// The lib.
const lib = require('loopback-extended-lib');
// Register files.
lib.register(__dirname);
// Export.
module.exports = lib;

It can register files multiple times, and the same files would be overridden. For more details, see file-register

The "extended"

  • lib.extended.loopback() can be used to generate an app, which is supposed to be used exactly once for one project. See the example for more details.
  • app.boot() can be used to boot the app, which will only boot once (multiple calls would return a cached promise).
  • app.reboot() can be used to "reboot" the app. Usually it's only used in tests. Be careful that this can break the connections to the data sources.

The "vars"

Some global variable getters/generators that are usually useful. For more details read the source code - they are short.

  • lib.vars.debugging() can tell if we are in the debugging mode.
  • lib.vars.namespace() can build a string in the format [project namespace]:[local namespace], similar to what people usually use with the debug module, and is usually used in debug and log etc.