jsformat CLI
Summary
A node CLI to do bulk formatting of JavaScript files. Original purpose is to give a location, dir or path, for script files and then give a list of things to sort by.
How to install it
npm install git://github.com/bstaley/jsformat.git
--or--
npm install jsformat
How to run
- change directory to a location you would like the generated file to be stored
- type
jsformat
with either a-dir <directory>
or a-path <file>
switch. - the interface will ask you what to sort by.
- use one sort criteria per line, ex. to sort all variables to the top use 'var'.
- submitting a blank line will start the processing.
note: when using directory it will recursively search through all folders.
Acceptable commands
-dir <directory>
-path <path>
-sortdef <json formatted array of sort criteria>
Known Issues
- Nothing has been implimented to support anything other than JavaScript.
- Your JavaScript file has must be formatted in a traditional way before hand.
- Nested blocks are may not protected. ^example:
var aaa = 'aaa';function xyz(){ var bbb = 'bbb';}
now if you apply a sort on the script above with only var you might pull out the var the in the function. More testing is needed to confirm. WORKAROUND: sort by var first and then by function.
ToDos
- For dir transformations look for file type, if specified.
- Accept an output directory for transformed files.
- Have the option to overwrite files in place.
Real life example output
This is an example used with jQuery to maintain a specific format across all files.
>jsformat -path ./test.js User Args:[ '-path', './test.js' ]File Names: [ './test.js' ]please enter, in order, your sort criteria.1: var2: $(document)3: $('.4: $(".5: $('#6: $("#7: $(8: function9: The file was saved to .\testFiles