ccatjs
v4.1.1
Published
Concatenate files using in-file @import: statements.
Downloads
16
Maintainers
Readme
ccatjs
Concatenate files using in-file @import: statements.
Prerequisites
NodeJS and npm installed.
Installing
Install the ccatjs package using npm:
npm install ccatjs -g
Usage
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.js
Result:
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.