New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

q-require

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

q-require

(out-of-service) asynchronous CommonJS require module loader for Node and browsers

latest
Source
npmnpm
Version
0.0.4
Version published
Weekly downloads
2
-88.89%
Maintainers
1
Weekly downloads
 
Created
Source

Q-REQUIRE

Asynchronous CommonJS require module loader for Node and browsers.

The browser implementation is good for development where the JavaScript is hosted on the same domain of origin as the page, for live debugging. For production, it is generally preferable to build a module transport bundle and to put it on a CDN.

Implements:

  • http://wiki.commonjs.org/wiki/Modules/1.1.1
  • http://wiki.commonjs.org/wiki/Modules/Async/A

Node:

$ npm install q-require

var REQUIRE = require("q-require/require");
var LOADER = require("q-require/loader");

// construct a require()
var loader = LOADER.Loader({"paths": [__dirname + "/examples/package/"]});
var require2 = REQUIRE.Require({"loader": loader});

// load the main module, asynchronously
var promise = require2.exec("main");

var Q = require("q");
var SYS = require("sys");
Q.when(promise, function (main) {
    // ok
    SYS.puts(main);
}, function (reason) {
    // error
    SYS.puts(SYS.inspect(reason));
});

Browser:

<script src="require.min.js"></script>
<script>
    require = Require("path/to/js");
    // async require a main module
    require.exec("main");
    // or
    require.ensure(["foo", "bar", "baz"], function (require) {
        var FOO = require("foo");
        var BAR = require("bar");
        var BAZ = require("baz");
    });
</script>

This asynchronous loader uses a simple heuristic for analyzing dependencies; it reads all require calls with string literals. You'll need to trick the regular expression if you have require calls that do not imply static dependency, like require((id)). If you have a dynamic dependency, use require.ensure or require.exec to asynchronously advance require to include additional modules and their transitive dependencies.

require.min.js includes ECMAScript 5 shims, so more Object, Array, String, and Date functions are guaranteed to work. It also bootstraps require with the following modules:

  • q
  • require/http
  • require/q-http
  • require/module
  • require/loader
  • require/require

FAQs

Package last updated on 28 Jun 2012

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