ccatjs v4.1.1
ccatjs
Concatenate files using in-file @import: statements.
Prerequisites
NodeJS and npm installed.
Installing
Install the ccatjs package using npm:
npm install ccatjs -gUsage
Assume a project containing multiple files in multiple directories.
To include a file inside another, use @import:(file.js) on a (comment) line.
Path
IMPORTANT: The path specified in the @import: statement must be relative to the containing file.
js
// @import:(file.js)html
<!-- @import:(file.html) -->css
/* @import:(file.css) */etc
@import:(file.txt) As long as the string @import:(<yourfile>) is found the line gets replaced by the referenced file content.
Example: (see test/ folder in repository)
src/main.js
// @import:(helpers/strings.js)
// @import:(helpers/arrays.js)
function main() {
var specialString = getString();
var specialArray = getSpecialArray();
}src/helpers/strings.js
function getString() {
return 'birds' + getString2();
}
// @import:(strings2.js)src/helpers/strings2.js
function getString2() {
return 'aura';
}src/helpers/arrays.js
function getSpecialArray() {
var a = [1,2,3];
return a;
}Options
-u or --unique Validates each file import to not be imported more than once.
-s or --silent When successful do not print any output message.
-v or --version Prints the current version number.Running ccatjs
ccatjs <entryFile> <destFile>In this example:
ccatjs src/main.js dist/out.jsResult:
dist/out.js
function getString() {
return 'birds' + getString2();
}
function getString2() {
return 'aura';
}
function getSpecialArray() {
var a = [1,2,3];
return a;
}
function main() {
var specialString = getString();
var specialArray = getSpecialArray();
}Output results
Success:
+ Successfully concatenated 4 entries. Errors:
Error checks:
- Syntax.
- Non existing references.
- Imported before (optional with -u or --unique).
- Circular reference.
Errors are reported including filename and line number.
- File reference malformed. Correct syntax is: @import:(path/file.ext). Notice parenthesis. File `main.js`. Line: `19`.
- File reference: `../file3.js` cannot be found. File `main.js`. Line: `22`.
- File reference: `../file4.js` imported before. File `main.js`. Line: `27`.
- File reference: `../file4.js` causes circular reference. File `main.js`. Line: `29`. License
This project is licensed under the MIT license.