#!/usr/bin/perl -w use JavaScript::Beautifier qw/js_beautify/; unless ( $ARGV[0] and -e $ARGV[0] ) { die "Usage $0 "; } open F, $ARGV[0] or die($!); my $src; while () { $src .= $_; } close F; my @clean = split /\n/, js_beautify( $src, { indent_size => 1, indent_character => "\t", preserve_newlines => 1 } ); # Clean long lines for tabs foreach(@clean){ if(/\[\s*.{70}/ and /\[\s*(?:['"].*['"],\s*)*\]/) { /^(\s*)/; my $tab = $1; s/(['"])([^"']*)\1(,?)\s*/ $1$2$1$3\n$tab /g; } $_.="\n"; } open F, ">",$ARGV[0] or die($!); print F @clean;