Socket
Book a DemoInstallSign in
Socket

base-resolver

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

base-resolver

'base-methods' plugin for resolving and loading globally installed npm modules.

latest
Source
npmnpm
Version
0.3.4
Version published
Maintainers
1
Created
Source

base-resolver NPM version Build Status

'base-methods' plugin for resolving and loading globally installed npm modules.

Install

Install with npm

$ npm i base-resolver --save

Usage

var resolver = require('base-resolver');

Example

In two steps, the following example shows how we would use base-resolver with a custom Generate application that is built on top of [base-methods][].

Step 1: Setup

The following example shows how we might begin creating a basic project generator from [base-methods][]. More specifically, this shows how we might register and cache generators.

var resolver = require('base-resolver');
var Generate = require('base-methods');

// register a "global" plugin, to initialize the `generators` 
// object, and decorate a `register` method (as an alternative 
// to inheriting base-methods or other more complicated approaches)
Generate.use(function(app) {
  app.generators = {};
  app.define('register', function(key, config) {
    this.generators[key] = config;
    return this;
  });
});

// register `resolver` as a global plugin
Generate.use(resolver('generate'));

Step 2

Intantiate the custom application we just created, and search for generators!

var generate = new Generate();

// setup a listener that will register generators (
// `config`s) as they're emitted
generate.on('config', function(config) {
  console.log('registered:', config.alias);
  generate.register(config.alias, config);
});

// find configs!
generate
  .resolve('generate-*/generator.js', {
    cwd: require('global-modules')
  });
  .resolve('generate-*/generator.js', {
    cwd: process.cwd()
  });

API

Params

  • name {String}: Optionally specify a namespace for storing resolved configs.
  • options {Object}: Options to pass to matched
  • option.patterns {String|Array}: Glob patterns to search
  • option.cwd {String}: The starting directory to search from
  • returns {Object}

Example

resolver.on('config', function(config) {
  // do stuff with "config"
});

resolver
  .resolve('foo', {pattern: 'generator.js', cwd: 'foo'})
  .resolve('bar', {pattern: 'generator.js', cwd: 'bar'})
  .resolve('baz', {pattern: 'generator.js', cwd: 'baz'})
  • global-modules: The directory used by npm for globally installed npm modules. | homepage
  • matched: Adds array support to node-glob, sync and async. Also supports tilde expansion (user home) and… more | homepage
  • npm-paths: Returns an array of unique "npm" directories based on the user's platform and environment. | homepage
  • resolve-modules: Resolves local and global npm modules that match specified patterns, and returns a configuration object… more | homepage

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Author

Jon Schlinkert

License

Copyright © 2015 Jon Schlinkert Released under the MIT license.

This file was generated by verb on December 14, 2015.

Keywords

base

FAQs

Package last updated on 14 Dec 2015

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