Socket
Socket
Sign inDemoInstall

require-namespace

Package Overview
Dependencies
31
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    require-namespace

Namespace support for node.js, making it easy to require a module without specifying the path to its file.


Version published
Maintainers
1
Install size
2.72 MB
Created

Readme

Source

require-namespace

When you require modules in node.js you include the path to the file, this can result in messy "../../" paths at the top of your files but can also mean that moving/renaming files break dependent modules.

To avoid that issue the new notion of a namespace allows you to require a dependency in a way that is more loosely coupled to the directory structure on disk.

Installation

$ npm install require-namespace

Usage

During initialisation of the system you create a namespace and associate it with a directory:

var namespace = require('require-namespace');
namespace.createSync(__dirname + '/model/', 'domain');

The first argument is the path to a directory containing JS modules that you want to include in the namespace, the second argument is the name of the namespace. Giving the namepace a name is optional but useful (see below).

At this point the directory is recursively scanned and a record of each file is kept. Once this is done we can access the modules from the namespace:

var namespace = require('require-namespace');
var domain = namespace.domain;
var linkProcessor = domain.LinkContentProcessor;

That require will work if there was a file called 'LinkContentProcessor.js' anywhere within the directory we used when creating the namespace.

Note also that the createSync method returns the created namespace and that if you prefer you can use domain.require("LinkContentProcessor") rather than domain.LinkContentProcessor.

Example

The project comes with an example that you can run using

node examples/simple.js

Tests

The tests use mocha and can be run using:

mocha -R spec spec/**/*_spec.js --recursive

Keywords

FAQs

Last updated on 07 Dec 2014

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc