¿Conoce un formateador JS que admita el estilo de codificación coma primero?

var a = 'ape'
  , b = 'bat'
  , c = 'cat'
  , d = 'dog'
  , e = 'elf'
  , f = 'fly'
  , g = 'gnu'
  , h = 'hat'
  , i = 'ibu'
  ;

Hasta ahora, he mirado JS Beautifier y SourceFormatX pero no pude encontrar una opción para ello.

13
Yuriy Nemtsov 3 jun. 2012 a las 20:54
Aunque podría ser útil saberlo, no estoy seguro de que esta pregunta sea válida en Stack Overflow.
 – 
gdoron is supporting Monica
3 jun. 2012 a las 20:56
Sí, estaba pensando en ponerlo en programadores, pero tampoco parece pertenecer allí. ¿Conoces un lugar mejor?
 – 
Yuriy Nemtsov
3 jun. 2012 a las 20:57
No, proponer un nuevo sitio en el Área 51, "fuera de tema" . También tengo algunas preguntas que hacer allí ... :)
 – 
gdoron is supporting Monica
3 jun. 2012 a las 21:00
Esta función ahora está disponible en el proyecto oficial JS Beautifier. No se requiere piratería.
 – 
BitwiseMan
17 mar. 2015 a las 03:19

1 respuesta

La mejor respuesta

Modifiqué un poco el código jsbeautifier aquí:

http://jsfiddle.net/RabTN/29/

Presione doit para ver el código embellecido.

Modifiqué específicamente la línea 1080:

        if (flags.var_line) {
            if (token_text === ',') {
                if (flags.var_line_tainted) {
                    flags.var_line_reindented = true;
                    flags.var_line_tainted = false;
                    print_newline();
                    print_token();
                    print_single_space();
                    break;
                } else {

Y línea 1123

        if (token_text === ',') {
            if (flags.var_line) {
                if (flags.var_line_tainted) {
                    print_newline();
                    print_token();
                    print_single_space();

                    flags.var_line_tainted = false;
                } else {
                    print_newline();
                    print_token();
                    print_single_space();
                }
            } else if (last_type === 'TK_END_BLOCK' && flags.mode !== "(EXPRESSION)") {
                print_token();
                if (flags.mode === 'OBJECT' && last_text === '}') {
                    print_newline();
                } else {
                    print_single_space();
                }
            } else {
                if (flags.mode === 'OBJECT') {
                    print_newline();
                    print_token();
                    print_single_space();
                } else {
                    // EXPR or DO_BLOCK
                    print_token();
                    print_single_space();
                }
            }
            break
9
Esailija 3 jun. 2012 a las 21:14
3
¡Gracias! Esto es exactamente lo que necesitaba. Por cierto, definitivamente deberías enviar esto como un parche a github.com/einars/js-beautify ; Estoy seguro de que más de unas pocas personas encontrarán una opción como esta muy útil.
 – 
Yuriy Nemtsov
3 jun. 2012 a las 21:28