Node.js module concatenation library
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.
npm install node-module-concat
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);
});
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 anindex.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 tofs.createWriteStream
call when theoutputFile
is opened for writing. -
excludeFiles
- An Array of files that should be excluded from the project even if they were referenced by arequire(...)
.Note: These
require
statements should probably be wrapped in a try, catch block to prevent uncaught exceptions. -
includeNodeModules
- Set totrue
if node_modules should also be included in the project.
-
cb
- Callback of the formcb(err, files, nativeModules)
wherefiles
is an Array of files that have been included in the project andnativeModules
is an Array of native modules that were found (but not included) when scanning the project.
- Dynamic
require()
statements don't work (i.e.require("./" + variable)
) require.resolve
calls are not modifiedrequire.cache
statements are not modified