concatter

0.0.4 • Public • Published

Concatter

Helper utility to build single-file JavaScript applications. It uses NodeJS-styled require function calls to resolve file concatenation order. It is quite experimental at the moment and does not support cyclic dependencies.

Usage

$ concatter --help

  Usage: concatter [options]

  Options:

    -h, --help             output usage information
    -b, --base <path>      base path for modules
    -i, --indent <indent>  indent for module wrapping
    -o, --output <path>    name of the output file
    -V, --version          output the version number

Example

Lets say we have project with the following structure:

example/
|-- module1
|   `-- a.js
|-- module2
|   `-- b.js
`-- module3
    `-- c.js

and a.js, b.js, c.js are following:

a.js:

var b = require('../module2/b');
 
exports.a = function() {
    console.log(b.b());
};

b.js:

var c = require('../module3/c');
 
exports.c = function() {
    console.log(c.c());
};

c.js:

exports.c = function() {
    console.log('c');
};

then the project is compiled to a single file using the command concatter --base example which results in the following output:

module1 = {};
module1.a = {};
module2 = {};
module2.b = {};
module3 = {};
module3.c = {};
 
module3.c = (function(exports) {
    exports.c = function() {
        console.log('c');
    };
 
    return exports;
})({});
 
module2.b = (function(exports) {
    var c = module3.c;
 
    exports.c = function() {
        console.log(c.c());
    };
 
    return exports;
})({});
 
module1.a = (function(exports) {
    var b = module2.b;
 
    exports.a = function() {
        console.log(b.b());
    };
 
    return exports;
})({});

Readme

Keywords

none

Package Sidebar

Install

npm i concatter

Weekly Downloads

4

Version

0.0.4

License

none

Last publish

Collaborators

  • rla