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.
-
includeNodeModules
- Set to true
if node_modules should also be
included in the project.
cb
- Callback of the form cb(err, files, nativeModules)
where files
is
an Array of files that have been included in the project and
nativeModules
is an Array of native modules that were found (but not
included) when scanning the project.
Known limitations
- Dynamic
require()
statements don't work
(i.e. require("./" + variable)
) require.resolve
calls are not modifiedrequire.cache
statements are not modified