Skip to content

bminer/module-concat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-module-concat

Node.js module concatenation library

What is it?

This library exposes a single function that concatenates Node.js modules within a project. This can be used to obfuscate an entire project into a single file. It can also be used to write client-side JavaScript code where each file is written just like a Node.js module.

Install

npm install node-module-concat

Usage

var modConcat = require("node-module-concat"); var outputFile = "./project/concatenated.js"; modConcat("./project/index.js", outputFile, function(err, files) { if(err) throw err; console.log(files.length + " were combined into " + outputFile); });

API

var modConcat = require("node-module-concat");

modConcat(entryModule, outputFile, [options,] cb)

  • entryModule - the path to the entry point of the project to be concatenated. This might be an index.js file, for example.
  • outputFile - the path where the concatenated project file will be written.
  • options - Optional. An Object containing any of the following:
    • outputStreamOptions - Options passed to fs.createWriteStream call when the outputFile is opened for writing.

    • excludeFiles - An Array of files that should be excluded from the project even if they were referenced by a require(...).

      Note: These require statements should probably be wrapped in a try, catch block to prevent uncaught exceptions.

  • cb - Callback of the form cb(err, files) where files is an Array of files that have been included in the project.

Known limitations

  • Dynamic require() statements don't work (i.e. require("./" + variable))
  • require.resolve calls are not modified
  • require.cache statements are not modified

About

Fairly lightweight CommonJS module concatenation tool

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published