semify
======

An npm module to replace all that pesky JavaScript with unsullied semicolons.

- Preserves all formatting
- Not actually limited to JavaScript

## Install

    $ npm install -g semify
    
## Usage

    $ semify <source> [destination]
    
A typical command line interaction would look like this:
    
    $ semify source.js destination.txt
    Your semified version of source.js can be located at destination.txt!

*If you only provide a source, the destination will default to appending '.semified' to the source name.*

    $ semify target.js
    Your semified version of source.js can be located at source.js.semified!
    
## Examples

Given the following `example.js`

```
var sentiments = [ 'happy'
                 , 'inspired'
                 , 'ecstatic'
                 , 'powerful'
                 , 'wholesome'
                 , 'complete'
                 ]

function emote(feelings) {
  feelings.forEach(function(feeling) {
    console.log('Semicolons make me feel %s!', feeling)
  })
}

emote(sentiments)
```

    $ semify example.js

will result in the following `example.js.semified`

```
;;; ;;;;;;;;;; ; ; ;;;;;;;
                 ; ;;;;;;;;;;
                 ; ;;;;;;;;;;
                 ; ;;;;;;;;;;
                 ; ;;;;;;;;;;;
                 ; ;;;;;;;;;;
                 ;

;;;;;;;; ;;;;;;;;;;;;;;; ;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;
    ;;;;;;;;;;;;;;;;;;;;;;; ;;;; ;; ;;;; ;;;;; ;;;;;;;;
  ;;
;

;;;;;;;;;;;;;;;;;
```

Good riddance, JavaScript! Nobody wanted you here anyway!
    



## ISC License (ISC)

Copyright 2014, Instancetype

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,
provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL 
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, 
OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF 
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.